本试题仅用于考查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(); 相关文章:
热门推荐
|
C++/C程序员基本编程技能笔试
文学乐
人气:2.06W