一、选择题
1. 若有以下程序
则程序的输出结果是( )。
【答案】A
【解析】当把结构体变量中的数据作为一个整体传送给相应的形参时,传递的是实参结构体变量中的值,系统将为结构体类型形参开辟相应的存储单元,并将实参中各成员的值一一对应赋给形参中的成员,函数中形参结构体变量的改变不会影响到实参结构体变量。所以,在函数f 中对a , b 的操作不会影响main 函数中a , b 的值。
2. 有以下程序:
程序运行时键盘输入则输出的结果是( )。 A.10 B.11 C.9 D.8
【答案】A 【解析】
和
运算,当以前缀形式出现时,则先进行加一或减一操作,再取值,当
是先用后加,即a
以后缀形式出现时,则先取值,再进行加一或减一操作。判断条件中因为打印是先用后减,所以先输出10, 然后a 的值变为9。
3. 有如下程序:
程序运行后的输出结果是( )。 A.TF B.T C.F D.TFT 【答案】A
【解析】x=0xl8为赋值表达式,十六进制数
非0, 即x 非0, if 条件成立输出T , 之后再输
出F 与回车符。程序运行后的输出结果是TF ,故A 选项正确。
4. 有以下程序:
程序的运行结果是( )。 A.x-4 B.x-6 C.x=8 D.x=12 【答案】c
【解析】第一次循环:i=0, 执行X++, x=l, 执行内层循环J=0, 由于
时才执行X++, 即只
有j 取1和3时执行x++, 此时x=l+l+l=3, 跳出内层循环,执行下一条x++, x=4。第二次循环:x=l
的值为9, 所以条件不成立,但是a 已经进行了自增1操作,a 的值此时为10。执行else 语句时,
时,重复上述循环。
共执行两次循环,故X 最终结果是4*2=8。
5. 有如下程序:
程序运行后的输出结果是( )。 A.9, 1 B.4, 0 C.4, 3 D.9, 3
【答案】A
【解析】程序执行完成后,变量a 的值不变,始终为9, a 转化成二进制数后逻辑即右移三位得到值为1,1再对4求余得到余数1赋给b 值。
6. 以下四个程序中,完全正确的是( )。
【答案】B
【解析】A 项中,“main ( )”函数后面不能加分号;C 语言中注释语句的注释方法是
:
或//注释一行,
且
“indUde”前缺少“#”号。
7. 以下叙述中正确的是( )。
A. 数组说明符的一对方括号中只能使用整型常量,而不能使用表达式 B. —条语句只能定义一个数组
C. 每个数组包含一组具有同一类型的变量,这些变量在内存中占有连续的存储单元 D. 在引用数组元素时,下标表达式可以使用浮点数 【答案】C
【解析】C 项正确,数组内部的变量都是同一类型,在内存中是连续存储的。A 项错误,方括号中应当是整型常量表达式,可以使用表达式,只要计算结果是整型常量即可;B 项错误,可
和不能嵌套使用,C 项错误; D 选项中预编译命令