一、选择题
1. 若有定义
程序运行时输入:
345〈回车〉
能把值3输入给变量a 、4输入给变量b 、5输入给变量C 的语句是( )。
A )
C )
答:D
d~输入带符号的十进制整型数,f~以带小数点的数学形式或指数形式输入浮点数【解析】(单
精度数用f ,双精度数用If )。
2. 有如下程序:
程序运行时,输入
A.1234
B.4321
C.4444
D.1111
答:B 则输出结果是( )。 B )D )
【解析】在调用一个函数的过程中又出现直接或间接的调用该函数本身,称为函数的递归调用。本题程序的 执行过程为:在输入1234〈回车〉的情况下,调用
人1,
在这次调用中的局部变量
条件成立→调用
第 2 页,共 33 页 函数,读函数,读入2, 局部变量
调用
调用函数,读入3, 局部变量•调用函数,读入4,
局部变量函数,读入回车,if 条件不成立,返回执行每次调用函数中if 语句后的输出语句,即依次输出4321。故B 选项正确。
3. 有以下程序:
程序的运行结果是。(口代表一个空格)
A.10,12,a
B. □□0,012,a
C.010,12,a
D. □□10,12,a
答:D
【解析】%4d 表示先输出十进制,共占4个字符,而10已占2个字符,故先输出2个空格,然后输出10; %0表示输出八进制,10的八进制为12; 表示输出十六进制,即a 。
4. 有以下程序:
程序运行后的输出结果是( )。
A.0
B.1
C.10
D.4
答:A
【解析】题for 循环内有break 和continue 语句,且均放在b+=a语句前面,无论if 条件是否满足,b+=a都不会被执行,因此b 值始终为0。
5. 有以下程序
第 3 页,共 33 页
执行后的输出结果是( )。
A.1
B.2
C.4
D. 死循环
答:A
while 【解析】(--k )是先执行k 减1,然后判定k 是否等于0;
输出1; 接下来继续执行-k ,k 变成0, 不满足条件,循环结束。
6. 设有定义:
紧接着的赋值语句正确的是( )。
A. B. C. D.
答:A
【解析】指针赋值的正确写法:表示p 指向x 的存储单元;表示p 是空指针。
7. 下面选项中关于位运算的叙述正确的是( )。
A. 位运算符都需要两个操作数
B. 位运算的对象只能是整型或字符型数据
C. 左移运算的结果总是原操作数据2倍
D. 右移fe 算时,尚位总是补0
答:B
【解析】B 项正确,C 语言中,位运算的对象只能是整型或字符型数据,不能是其他类型的数据。A 项错误,位运算符中取反操作符只需要一个操作符;C 项错误,左移时,若左端移出的部分不包含有效二进制数1, 则每左移一位,相当于移位对象乘以2, 如果端移出的部分包含有效二进制数1,结论不成立;D 项错误,右移运算时,对于无符号整数和正整数,高位补0; 对于负整数,高位补1。
8. 有以下程序:
第 4 页,共 33 页
是先执行k-=3,k 的初始值是5, --k 后k 变成4, 进入循环体内部,然后输出k 的值。首先执行k-=3, 得到k 等于1,