2017年北京市培养单位工程科学学院864程序设计考研导师圈点必考题汇编
● 摘要
一、选择题
1. 若有定义inta ,b ,c ; 以下选项中的赋值语句正确的是( )。
A.a= (b=c) +1; B. (a=b) =c=l: C.a= (b==c) =1; D.a+b=c: 【答案】A
【解析】赋值运算结合性为由右向左结合,赋值运算符左值为变量,右值为变量或常量,且左右两边数据类 型相同才能实现赋值。A 项中,将c 赋值给b ,然后将b 加1赋值给a ,是正确的赋值语句,正确。B 项中,将1 赋值给c , 赋值运算赋值,错误。C 项中赋值运算值
2. 若有定义:
则以下不能正确表示该数组元素的表达式是( )。
A. B. C. D. 【答案】A 【
解
析
】
a
数
组
元
素
可
用
五
种
表
达
式
来
引
用
:
A 项,C 语言中规
定,方括号的优先级高于相当于是项,
的地址,
表示数组元素
是元素
的地址,
C 项
,
是元素
B 项,是不能表示数组元素。
是
的地址,
D
的地址,
表示数组元素的地址,表示数组元素
为表达式,不是变量不能被赋值,D 项错误。
中左值为表达式,不是变量不能被
左值为逻辑表达式,不是变量不能被赋值,错误。D 项左
3. 若有以下程序段:
输出结果是( )。 A.16 B.8 C.4 D.2
【答案】C 【解析】c 语言中
是对二进制的右移运算符,右移相当于将原数做除二操作,它将原数
右移相应位数,并将移出的位信息舍去,在高位补0, 将所得的结果再赋值给变量。本题中8的二进制为00001000, 右移一位得 到00000100,所以是4。
4. 以下选项中,合法的数值型常量是( )。
【答案】A
【解析】A 项正确,3.2是合法的实型常量;B 项错误,六进制。
5. 有以下程序:
程序运行后的输出结果是( )。 A.3 B.6 C.8 D.12
【答案】B
【解析】本题是选用函数作为另一个函数的参数,所以应该先做其中嵌套的函数,
即
根据题意可知函数fun ( )是求平均值的函数,所以
要注意:因为函数的返回值是int 型,int 型做除法运算时保留整数,所以为5。
6. 若有以下程序
为字符型常量不是数值型常量;
和H 冲突都是表示十
C 项错误,以0开头,表示八进制,但八进制的每位小于8; D 项错误,
的值为5, 这里
保留整数
保留整数为6。
即为计算所以结果为
则程序的输出结果是( )。 A.13 B.10 C.11 D.15
【答案】C
【解析】default 也是关键字,起标号的作用,代表所有case 标号之外的那些标号。default 标号可以出现在语句体中任何标号位置上。在switch 语句体中也可以没有default 标号。
先判定case 语句,如果没有与判定值相等的标号,并且存在default 标号,则从default 标号后的语句开始执行。如果default 语句没有break ,则其下面的case 语句不加判定的继续执行(default ,直到遇到break 或switch 结尾。 位置在case 前面时)
①n=0,执行default ,s=4,没有遇到break ,不与case 标号比较,直接执行case 后的语句,s=5,遇到break ,跳出循环;
②n=l,s+=l,s=6; ③n=2»s+=2, s=8; ④n=Ls+=3,s=11。
7. 有以下程序
程序输出( )。 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 语句,中间不能出现其他语句。