- 相关推荐
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程序员基本编程技能笔试】相关文章:
有心情的试一试,考查C++/C程序员的基本编程技能11-11
C++笔试题03-25
C++ 笔试题08-09
Sony C++笔试题02-11
普天C++笔试题02-18
C++编程简历表格11-22
名企招聘c++程序员笔试题07-31
UC(优视科技)2014实习笔试题回忆版 C/C++编程11-21
C++语言的基本符号10-11
名企招聘C++程序员笔试题及分析07-31