本试题仅用于考查C++/C程序员的基本编程技能。内容限于C++/C常用语法,不涉及数据结构、算法以及深奥的语法。考试成绩能反映出考生的编程质量以及对C++/C的理解程度,但不能反映考生的智力和软件开发能力。
笔试时间90分钟。请考生认真答题,切勿轻视。
、请填写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分)
for (i=0; i<N; i++)
{
if (condition)
DoSomething();
else
DoOtherthing();
}
{
for (i=0; i<N; i++)
DoSomething();
}
else
{
for (i=0; i<N; i++)
DoOtherthing();
}
优点:程序简洁