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

2016年武汉纺织大学数学与计算机学院C语言程序设计考研复试题库

  摘要

一、选择题

1. 下面选项中关于位运算的叙述正确的是( )。

A. 位运算符都需要两个操作数

B. 位运算的对象只能是整型或字符型数据

C. 左移运算的结果总是原操作数据2倍

D. 右移fe 算时,尚位总是补0

答:B

【解析】B 项正确,C 语言中,位运算的对象只能是整型或字符型数据,不能是其他类型的数据。A 项错误,位运算符中取反操作符只需要一个操作符;C 项错误,左移时,若左端移出的部分不包含有效二进制数1, 则每左移一位,相当于移位对象乘以2, 如果端移出的部分包含有效二进制数1,结论不成立;D 项错误,右移运算时,对于无符号整数和正整数,高位补0; 对于负整数,高位补1。

2. 以下程序段中,循环次数不超过10的是( )。

A.

B.

C.

D.

答:A

【解析】A 项,执行函数体判断条件不成立,退出循环,循环次数为1,不超过10

由于执行函数体时i 在增加,一直成立,

由于函次,A 项正确。B 项执行函数体i=6, 判断条件为程序陷入无限循环,循环次数大于10, B 项错误。C 项执行函数体i=3, 判断条件为

D 项执行函数体i=4, 判断条件为数体中i 每次増加2, 所以永远不可能等于10, 故程序会陷入无限循环,循环次数大于10, C 项错误。由于函数体中i 每次减少2, 所以永远不可能等于1,故程序会陷入无限循环,循环次数大于10, D 项错误。

3. 对于若要执行循环体s ,则E 的取值应为( )。

A.E 等于1

B.E 不等于0

C.E 不等于1

D.E 等于0

答:D

【解析】如果执行循环体,则!E 不等于0, E 等于0。

4. 有以下程序:

I

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

答:A

【解析】当把结构体变量中的数据作为一个整体传送给相应的形参时,传递的是实参结构体变量中的值,系统将为结构体类型形参开辟相应的存储单元,并将实参中各成员的值一一对应赋给形参中的成员。函数体内对形参结构体变量中任何成员的操作,都不会影响对应实参中成员的值,从而保证了调用函数中数据的安全,但这也限制了将运算结果返回给调用函数。

5. 有以下程序

程序的运行结果是( )。

A.a=2.b=l

B.a_2,b-2

I

C.a=l, b=l

D.a=l, b=0

答:A

【解析】当执行swicth 语句时,首先计算紧跟其后一对括号中的表达式的值,然后在switch 语句体内寻找与该值吻合的case 标号。如果有与该值相等的标号,则执行该标号后开始的各语句,包括在其后的所有case 和default 中的语句,直到switch 语句体结束;每当执行到break 语句时,立即跳出switch 语句体。switch 语句通常总是和break 语句联合使用,使得switch 语句真正起到分支的作用。x=l,首先进入外层分支1,接下来y=0,再进入内层分支0,执行a++,此时a=l,接下来遇到break ,跳出内层switch ; 由于外层分支中没有break 语句,会继续执行外层分支2,执行a++, b++,此时a=2, b=l; 然后遇到break 语句,跳出外层switch 。

6. 有以下程序

程序输出( )。

A.0, 0, 0, 3

B. 编译有错

C.1, 1, 2, 0

D.0, 1, 2, 0

答:B

【解析】c=2不属于if 子句,它是在if 和else 之间的语句,如果该if 子句含有多个语句(两

,则必须使用复合语句,即用花括号把一组语句括起来。在程序中else 必须与if 配对,个以上)

共同组成一条if-else 语句,中间不能出现其他语句。

7. 有以下程序:

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

A.123