- 相關(guān)推薦
c++/c程序員基本編程技能筆試
本試題僅用于考查c++/c程序員的基本編程技能。 內(nèi)容限于c++/c常用語(yǔ)法,不涉及數(shù)據(jù)結(jié)構(gòu)、算法以及深?yuàn)W的語(yǔ)法。 考試成績(jī)能反映出考生的編程質(zhì)量以及對(duì)c++/c的理解程度, 但不能反映考生的智力和軟件開(kāi)發(fā)能力。 筆試時(shí)間90分鐘。請(qǐng)考生認(rèn)真答題,切勿輕視。 一、請(qǐng)?zhí)顚慴ool , float, 指針變量 與"零值"比較的 if 語(yǔ)句。 (10分) 提示:這里"零值"可以是0, 0.0 , false或者"空指針"。 例如 int 變量 n 與"零值"比較的 if 語(yǔ)句為: if ( n 0 ) if ( n != 0 ) 以此類推。 請(qǐng)寫出 bool flag 與"零值"比較的 if 語(yǔ)句: 請(qǐng)寫出 float x 與"零值"比較的 if 語(yǔ)句: 請(qǐng)寫出 char *p 與"零值"比較的 if 語(yǔ)句: 二、以下為windows nt下的32位c++程序,請(qǐng)計(jì)算sizeof的值(10分) char str[] = "hello" ; char *p = str ;int n = 10; 請(qǐng)計(jì)算 sizeof (str ) = sizeof ( p ) = sizeof ( n ) = void func ( char str[100]) {請(qǐng)計(jì)算 sizeof( str ) = } void *p = malloc( 100 ); 請(qǐng)計(jì)算sizeof ( p ) = 三、簡(jiǎn)答題(25分) 1、頭文件中的 ifndef/define/endif 干什么用? 2、#include 和 #include "filename.h" 有什么區(qū)別? 3、const 有什么用途?(請(qǐng)至少說(shuō)明兩種) 4、在c++ 程序中調(diào)用被 c編譯器編譯后的函數(shù), 為什么要加 extern "c"聲明? 5、請(qǐng)簡(jiǎn)述以下兩個(gè)for循環(huán)的優(yōu)缺點(diǎn) // 第一個(gè)for (i=0; i {if (condition) dosomething(); else dootherthing();} 優(yōu)點(diǎn):缺點(diǎn): // 第二個(gè)if (condition) {for (i=0; i dosomething();} else{ for (i=0; i 優(yōu)點(diǎn):缺點(diǎn): 四、有關(guān)內(nèi)存的思考題(20分) void getmemory(char *p) { p = (char *)malloc(100); } void test(void) { char *str = null;getmemory(str); strcpy(str, "hello world"); printf(str); }請(qǐng)問(wèn)運(yùn)行test函數(shù)會(huì)有什么樣的結(jié)果?答: char *getmemory(void) { char p[] = "hello world"; return p; } void test(void) { char *str = null; str = getmemory(); printf(str); } 請(qǐng)問(wèn)運(yùn)行test函數(shù)會(huì)有什么樣的結(jié)果?答: void getmemory2(char **p, int num) { *p = (char *)malloc(num); } void test(void) { char *str = null; getmemory(str, 100); strcpy(str, "hello"); printf(str); } 請(qǐng)問(wèn)運(yùn)行test函數(shù)會(huì)有什么樣的結(jié)果?答: void test(void) { char *str = (char *) malloc(100); strcpy(str, "hello"); free(str); if(str != null) { strcpy(str, "world"); printf(str); } } 請(qǐng)問(wèn)運(yùn)行test函數(shù)會(huì)有什么樣的結(jié)果?答: 五、編寫strcpy函數(shù)(10分) 已知strcpy函數(shù)的原型是 char *strcpy(char *strdest, const char *strsrc); 其中strdest是目的字符串,strsrc是源字符串。 (1)不調(diào)用c++/c的字符串庫(kù)函數(shù),請(qǐng)編寫函數(shù) strcpy (2)strcpy能把strsrc的內(nèi)容復(fù)制到strdest,為什么還要char * 類型的返回值? 六、編寫類string的構(gòu)造函數(shù)、析構(gòu)函數(shù)和賦值函數(shù)(25分) 已知類string的原型為: class string { public: string(const char *str = null); // 普通構(gòu)造函數(shù) string(const string other); // 拷貝構(gòu)造函數(shù) ~ string(void); // 析構(gòu)函數(shù) string operate =(const string &other); // 賦值函數(shù) private: char *m_data; // 用于保存字符串 }; 請(qǐng)編寫string的上述4個(gè)函數(shù)。 |
【c++/c程序員基本編程技能筆試】相關(guān)文章:
有心情的試一試,考查C++/C程序員的基本編程技能09-10
C++ 編程筆試題目分享08-13
C++ 筆試題10-27
普天C++筆試題10-17
名企招聘c++程序員筆試題10-18
UC(優(yōu)視科技)2014實(shí)習(xí)筆試題回憶版 C/C++編程05-30
名企招聘C++程序員筆試題及分析09-03
普天C++筆試題面試技巧06-30
c/c++程序員面試題07-18