一、选择题
1. 有以下程序:
程序运行后的输出结果是( )。 A.ABE B.BDI C.BCF D.BCD 【答案】B 【解析】
函数是向屏幕上输出一个字符,
是计算
码值。第一次循环,a 等
于0, 则f (a )等于1,b 等于1,输出B 第二次循环,a 等于1,则f (a )等于2, b 等于3, 输出D 第三次循环,a 等于2, 则f (a )等于5, b等于7, 输出I 。
2. 若有定义:
则以下不能正确表示该数组元素的表达式是( )。
A. B. C. D. 【答案】A
【
解
析
】
a
数
组
元
素
可
用
五
种
表
达
式
来
引
用
:
A 项,C 语言中规
定,方括号的优先级高于相当于是项,
的地址,
表示数组元素
是元素
的地址,
C 项
,
是元素
B 项,是不能表示数组元素。
是
的地址,
D
的地址,
表示数组元素的地址,表示数组元素
3. 若有代数式(其中e 仅代表自然对数的底数,不是变量),则以下能够正确表示该
代数式的C 语言表达式是( )。
【答案】A
【解析】math.h 是数学运算库函数的头文件名:
4. 有以下程序
程序运行后输出结果是( )。 A.0, 2 B.0, 3 C.1, 3 D.1, 2 【答案】D 【解析】话,则
是与逻辑操作符,两侧都为真,结果为真,否则结果为假;如果
前面为0的
. 后面的不予判定,这是逻辑操作符的短路特性。
的执行顺序是,先判定a 是否等于0, 如果等于0, 执行a++,跳出循环(短
;如果a 不等于0, 执行a++,然后执行++b,再判定b 是否等于0, 根据判定结果决定是否进路性)
行下一次循环。
第一次循环,a 等于-2, 执行a++; b 等于0, 执行++b,得到a 等于-1,b 等于1; 第二次循环,a 等于-1,执行a++; b 等于1, 执行++b, 得到a 等于0, b 等于2;
⑦第三次循环,a 等于0, 执行a++, 不满足条件,跳出循环,得到a 等于1,b 仍然是2。
5. 对于一个正常运行的C 程序,以下叙述中正确的是( )。
A. 程序的执行总是从程序的第一个函数开始,在main 函数结束 B. 程序的执行总是从main 函数开始
C. 程序的执行总是从main 函数开始,在程序的最后一个函数中结束
D. 程序的执行总是从程序的第一个函数开始,在程序的最后一个函数中结束 【答案】B
【解析】一个正常运行的C 程序总是从main 函数开始执行,最后返回到main 函数结束。
6. 有以下程序:
程序运行后的输出结果是( )。 A.-1 B.0 C.1 D.7
【答案】A
【解析】“++”和“一”运算,当以前缀形式出现时,则先进行加一或减一操作,再取值,当以后缀形式出现时,贝晚取值,再进行加一或减一操作。程序中执行才跳出循环,执行下条语句,即a 为0时再执行
7. 有以下程序:
程序运行后的结果是( )。
【答案】D
【解析】函数f 的功能是将重新定义的结构体b 整体赋给圯], 即数组a 的第二个元素,而数组a 的第一个元素不变。因此main 函数中调用函数f 时,即数组c 的第二个元素变成结构体b , 第一个元素不变。
8. 有以下程序:
直到while 判断为0时
后输出,最终输出的结果为-1。