2017年扬州大学信息工程学院835程序设计考研强化模拟题
● 摘要
一、选择题
1. 设均为实型变量,代数式
【答案】C 【解析】
2. 有以下程序
该程序试图通过指针p 为变量n 读入数据并输出,但程序有多处错误,以下语句正确的是( )。
【答案】A
【解析】B 项的正确写法应为
项的正确写法应为
3. 下面选项中关于位运算的叙述正确的是( )。
A. 位运算符都需要两个操作数
B. 位运算的对象只能是整型或字符型数据
C. 左移运算的结果总是原操作数据2倍
D. 右移fe 算时,尚位总是补0
【答案】B
【解析】B 项正确,C 语言中,位运算的对象只能是整型或字符型数据,不能是其他类型的数据。A 项错误,位运算符中取反操作符只需要一个操作符;C 项错误,左移时,若左端移出的部分不包含有效二进制数1, 则每左移一位,相当于移位对象乘以2, 如果端移出的部分包含有效二进制数1,结论不成立;D 项错误,右移运算时,对于无符号整数和正整数,高位补0; 对于负整
第 2 页,共 31 页 在C 语言中的正确写法是( )。
的结合顺序是从左到右,所以x 先除以y ,再除以z 。
将变量n 的地址赋给指针p ; C
项的正确写法应为
数,高位补1。
4. 有以下程序:
程序运行时,输入的值在范围才会有输出结果( )。
A. 不等于10的整数
B. 大于3且不等于10的整数
C. 大于3或等于10的整数
D. 小于3的整数
【答案】B
【解析】else 总是和其上面最近的if 相匹配,对于第一个if ,只有一个else 语句,所以,若if 为真,表示不做任何处理,只有为假时才进入else 语句中,在else 语句中,若只有一个if 语句,只有其为真才输出。
5. 有以下程序:
程序运行后的输出结果是。
A.2
B.4
C.
D.8
【答案】D
a 的初始值为2, 程序中将a 左移2位的结果赋值给b , 即相当于十进制乘以4, 结果为【解析】
8。
6. 若有定义语句
。
A
B.
C.
D.
第 3 页,共 31 页
以下选项中能够输出“OK ”的语句是( )
【答案】D
stamp 用于比较两字符串:【解析】当时,返回值小于0; 当时,返回值为0; 当
时,返回值大于0。题中si 与s2两个字符串不相等,AC 两项错误。B 项,输出的小写的“ok”,只有D 项输出的是大 写的“OK”。
7. 有以下程序
当执行程序时,按下列方式输入数据(从第1列开始,
,
字符)
则输出结果是( )。
A.12
3
B.12
C.1234
D.12
34
【答案】A
【解析】回车和换行也是字符,会被scanf 函数取字符时取到。所以,a=l, b=2,
8. 若有定义语句
接着执行以下选项中的语句,则能正确执行的语句是( )。
A. B. C. D.
【答案】B
【解析】scanf 中参数列表,需为地址,只有B 项符合题意。
9. 以下叙述中正确的是( )。
A.break 语句只能用于switch 语句体中
B.continue 语句的作用是使程序的执行流程跳出包含它的所有循环
C. 在循环体内使用break 语句和continue 语句的作用相同
D.break 语句只能用在循环体内和switch 语句体内
第 4 页,共 31 页 代表回车,注意,回车也是一个d=3