C++/C 试题的答案与评分标准一、请填写 BOOL , float, 指针变量与“零值”比较的 if 语句.(10 分)请写出 BOOL flag 与“零值"比较的 if 语句.(3 分)标准答案: if ( flag ) if ( !flag )如下写法均属不良风格,不得分.if (flag == TRUE)if (flag == 1 )if (flag == FALSE) if (flag == 0)请写出 float x 与“零值"比较的 if 语句。(4 分)标准答案示例:浮点数不能取到更精确的值,const float EPSINON = 0。00001;if ((x 〉 = - EPSINON) & & (x 〈 = EPSINON)不可将浮点变量用“==”或“!=”与数字比较,应该设法转化成“〉=”或“〈=”此类形式.如下是错误的写法,不得分。if (x == 0。0)if (x != 0。0)请写出 char *p 与“零值”比较的 if 语句.(3 分)标准答案: if (p == NULL) if (p != NULL)如下写法均属不良风格,不得分。if (p == 0)if (p != 0)if (p) if (!)二、以下为 Windows NT 下的 32 位 C++程序,请计算 sizeof 的值(10 分)char str[] = “Hello” ;char *p = str ;int n = 10;请计算strlen 测字符串sizeof (str ) = 6 (2 分)sizeof ( p ) = 4 (2 分)sizeof ( n ) = 4 (2 分)void Func ( char str[100]){请计算sizeof( str ) = 4 (2 分)}void *p = malloc( 100 );请计算sizeof ( p ) = 4 (2 分)三、简答题(25 分)1、头文件中的 ifndef/define/endif 干什么用?(5 分)答:防止该头文件被重复引用。2、#include 〈filename。h〉 和 #include “filename.h” 有什么区别?(5 分)答:对于#include 〈filename。h〉 ,编译器从标准库路径开始搜索 filename。h对于#include “filename.h" ,编译器从用户的工作路径开始搜索 filename.h3、const 有什么用途?(请至少说明两种)(5 分)答:(1)可以定义 const 常量(2)const 可以修饰函数的参数、返回值,甚至函数的定义体.被 const 修饰的东西都受到强制保护,可以预防意外的变动,能提高程序的健壮性。4、在 C++ 程序中调用被 C 编译器编译后的函数,为什么要加 extern “C”?(5 分)答:C++语言支持函数重载,C 语言不支持函数重载。函数被 C++编译后在库中的名字与C 语言的不同。假设某个函数的原型为:void foo(int x, int...