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

2018年上海海事大学文理院828数据结构及程序设计之C程序设计考研基础五套测试题

  摘要

一、选择题

1. 有以下程序:

程序运行后输出的结果是。

A.0, 4, 5

B.4, 4, 5

C.4, 4, 4

D.0, 0, 0

【答案】A

【解析】C 语言中可以将多条语句放在同一行,用“;”隔开。赋值运算和逗号运算都是从左到右结合。首先执行A-=A-5,即A=A-(A-5),得A 的值为5, 然后执行C=(A-=A-5), 即将A 的值5赋给变量C , 使得C 的值也为5。然后执行下句逗号表达式中的A=B, 把B 的值0赋给A ,此时A 的值为0, 然后执行B=B+4, 使得B 的值为4,最后打印输出。

2. 有以下程序:

程序运行时键盘输入

A.10

B.11

C.9

D.8

【答案】A 【解析】和则输出的结果是( )。 运算,当以前缀形式出现时,则先进行加一或减一操作,再取值,当

是先用后加,即a

第 2 页,共 40 页 以后缀形式出现时,则先取值,再进行加一或减一操作。判断条件中

的值为9, 所以条件不成立,但是a 已经进行了自增1操作,a 的值此时为10。执行else 语句时,因为打印是先用后减,所以先输出10, 然后a 的值变为9。

3. 有以下程序:

程序的运行结果是( )。

A.3

B.5

C.6

D. 结果不确定

【答案】A

【解析】( )的优先级大于*,故先将1.99强制转化为1,即浮点数1.99被强制转换成1,执行语句a=(int )1.99*3;计算得a=lX3=3。

4. 有以下程序:

程序的运行结果是( )。

A.5, 0

B.6, 0

C.5, -1

D.6,-1

【答案】C

【解析】程序执行过程为:执行do …while 的循环体:y=5,判断y 为真,x=l; y=4, x=2; y=3, x=3; y=2,x=4; y=l, x=5; y=0,判断y 为假,退出循环体。判断条件y=0为假,y=—1,退出循环。输出x , y 为5,-1, 故C 项正确。

5. 已知字母A 的ASCII 码值为65,若变量kk 为char 型,以下不能正确判断出kk 中的值为大写字母的表达式是( ) A.

第 3 页,共 40 页

B.

C.

D.

【答案】B

无法判断kk 中的值是否为大写字母,逻辑错误。B 项,

【解析】表达式等价为

大写字母的ASCII 码值是65〜90, 小写字母的ASCII 码值是97〜122,isalpha (kk )是判断kk 是否是字母的函数,是字母并且字母ASCII 值小于91的一定为大写字母。

6. 以下选项中合法的C 语言赋值语句是( )。

A.++i;

B.a=b=34

C.a=3,b=9

D.k=int(a+b);

【答案】A

【解析】B 项和C 项缺少分号,不合法。D 项类型转换不合法,应为k=(int )(a+b)。

7. 有以下程序:

程序运行后的结果是( )。

【答案】D

【解析】main 函数首先将数组a 中的元素值写入文件,再将文件中的元素倒序存放在数组a 中,最后答应数组a 的值,最终输出为6, 5, 4,3, 2,1。

8. 若有定义语句:则表达式的值为( )。

【答案】B

第 4 页,共 40 页