当前位置:问答库>考研试题

2017年东南大学5k2程序设计复试实战预测五套卷

  摘要

一、选择题

1. 有以下程序:

程序的运行结果是( )。 A.21,18 B.81,81 C.21,21 D.18,18 【答案】A

,替换过程是,用宏调用提供的实参字符串,【解析】带参数的宏的调用格式:宏名(实参表)

S 直接置换宏定义命令行中相应形参字符串,非形参字符保持不变。(k+j+2•被置换成k+j+2*k+j+2,计算时先计算2*k,结果为21; S (j+k+2.被置换成j+k+2*j+k+2,计算时先计算2*j,结果为18。程序的运行结果是21,18,故A 选项正确。

2. 有以下程序:

程序的运行结果是( )。 A.-1, 0 B.0, 0 C. -1 , -1 D.1, 1

【答案】A

【解析】本题执行过程为:先取a 值为1, 执行循环,件不成

立,退出循环,再执行

得到

最后输出

故A 项正确。 执行

再取a 值为0, 判断条

3. 有以下程序:

程序运行后的输出结果是( )。 A.TrueB •TrueFalse C.False

D.TrueFalseTrue 【答案】B 【解析】此答案为B 选项。

4. 有以下程序:

程序的运行结果是( )。 A.D B.C C.B D.A

【答案】A

【解析】A 项正确,main ( )函数中,首先判断条件x>l,因为x=l不大于1,不满足条件,程序跳入else 语句判定z

5. 设有定义intx=2;,以下表达式中,值不为6的是( )。

A.x*=x+l B.x++, 2*x

C.x*=(1+x) D.2*x, x+=2 【答案】D

,此时为3, 然后做x*=3, 【解析】AC 两项,赋值运算优先级最低,所以先做x+1或(1+x)

即x=x*(x+l)=6;B 项,做x++运算后得到3, 然后做2*x运算得6, ;D 项,2*x虽然结果为4,

此处是赋值语句“=”,注意赋值操作符与相等操作符“==”的区别,因

但此时x 的值仍为2, 所以最终为4。

6. 以下使指针指向一个字符串的选项错误的是( )。

A. B. C. D. 【答案】A

【解析】A 项中定义了指针ps 后,法将str 的首地

址赋给一个常量,语法错误。

7. 以下程序:

程序运行后的输出结果是( )。 A.abc B.28c C.abc28

D. 因类型不一致而出错 【答案】C

【解析】

程序一开始以只写方式打开文件

以附加方式打开,

接着写入字符串

然后写入字符串

文件关闭后再

然后把文件指针移到开头位置,再读入整个字符串到str 表示指针ps 指向地址的内容,而不是地址,

中,最后输出str 的值。

8. 以下选项中的编译预处理命令行,正确的是( )。

A.#definePI3.14 B.##defineeps0.001 C.#DEFINETRUE D.#defineintINT 【答案】A