c++/c程序员基本编程技能笔试
本试题仅用于考查c++/c程序员的基本编程技能。 内容限于c++/c常用语法,不涉及数据结构、算法以及深奥的语法。 考试成绩能反映出考生的编程质量以及对c++/c的理解程度, 但不能反映考生的智力和软件开发能力。 笔试时间90分钟。请考生认真答题,切勿轻视。 一、请填写bool , float, 指针变量 与"零值"比较的 if 语句。 (10分) 提示:这里"零值"可以是0, 0.0 , false或者"空指针"。 例如 int 变量 n 与"零值"比较的 if 语句为: if ( n 0 ) if ( n != 0 ) 以此类推。 请写出 bool flag 与"零值"比较的 if 语句: 请写出 float x 与"零值"比较的 if 语句: 请写出 char *p 与"零值"比较的 if 语句: 二、以下为windows nt下的32位c++程序,请计算sizeof的值(10分) char str[] = "hello" ; char *p = str ;int n = 10; 请计算 sizeof (str ) = sizeof ( p ) = sizeof ( n ) = void func ( char str[100]) {请计算 sizeof( str ) = } void *p = malloc( 100 ); 请计算sizeof ( p ) = 三、简答题(25分) 1、头文件中的 ifndef/define/endif 干什么用? 2、#include 和 #include "filename.h" 有什么区别? 3、const 有什么用途?(请至少说明两种) 4、在c++ 程序中调用被 c编译器编译后的函数, 为什么要加 extern "c"声明? 5、请简述以下两个for循环的优缺点 // 第一个for (i=0; i {if (condition) dosomething(); else dootherthing();} 优点:缺点: // 第二个if (condition) {for (i=0; i dosomething();} else{ for (i=0; i 优点:缺点: 四、有关内存的思考题(20分) void getmemory(char *p) { p = (char *)malloc(100); } void test(void) { char *str = null;getmemory(str); strcpy(str, "hello world"); printf(str); }请问运行test函数会有什么样的结果?答: char *getmemory(void) { char p[] = "hello world"; return p; } void test(void) { char *str = null; str = getmemory(); printf(str); } 请问运行test函数会有什么样的结果?答: void getmemory2(char **p, int num) { *p = (char *)malloc(num); } void test(void) { char *str = null; getmemory(str, 100); strcpy(str, "hello"); printf(str); } 请问运行test函数会有什么样的结果?答: void test(void) { char *str = (char *) malloc(100); strcpy(str, "hello"); free(str); if(str != null) { strcpy(str, "world"); printf(str); } } 请问运行test函数会有什么样的结果?答: 五、编写strcpy函数(10分) 已知strcpy函数的原型是 char *strcpy(char *strdest, const char *strsrc); 其中strdest是目的'字符串,strsrc是源字符串。 (1)不调用c++/c的字符串库函数,请编写函数 strcpy (2)strcpy能把strsrc的内容复制到strdest,为什么还要char * 类型的返回值? 六、编写类string的构造函数、析构函数和赋值函数(25分) 已知类string的原型为: class string { public: string(const char *str = null); // 普通构造函数 string(const string other); // 拷贝构造函数 ~ string(void); // 析构函数 string operate =(const string &other); // 赋值函数 private: char *m_data; // 用于保存字符串 }; 请编写string的上述4个函数。 |
【c++/c程序员基本编程技能笔试】相关文章:
程序员笔试环节面试宝典02-12
2017年c语言面试笔试题03-19
华为程序员面试笔试试卷03-11
java程序员面试笔试试题03-11
笔试的面试技巧11-21
中兴笔试面试经验03-12
华为笔试网络题03-11
面试笔试题03-22
保利面试笔试03-22
2017程序员就业城市03-08