2018年吉林师范大学计算机院846C程序设计和计算机网络之C程序设计考研核心题库
● 摘要
一、选择题
1. 有以下程序:
程序的运行结果是( )。 A.23 B.26 C.33 D.36
【答案】A
【解析】题中把数组首元素地址赋值给指针变量q ,在for 循环体内,
当把指针q 指向的单元值加1,等于3
赋给循环体,此时i 不等于0, 指针q 地址加1,
指向
2. 以下选项中正确的语句组是( )。
A.
B.
C. D. 【答案】D
此时
时,满足if 语句,
后再次进人
接着输出q 指针指向单元的值2
;
因此最后函数输出的分别是2, 3。
【解析】字符串常量在赋值过程中给出的是这个字符串在内存中所在的一串连续存储单元的首地址。在初始 化字符串时,若选择给指针赋值字符串的方式应
为
三项错误,在给数组赋值
的时候应该为
:
或是
3. 有如下程序段:
则for 循环体执行的次数是( )。 A.0次 B.1次 C.2次 D. 无限次 【答案】A
【解析】for (k=2; k==0; )表示给k 赋值2, 如果k 等于0, 则选入循环,但是k 不满足条件,因此循环体不执行。
4. 有以下程序:
程序运行后的输出结果是( )。 A.8,16 B.16,32 C.8,32 D.16,16 【答案】C
【解析】带参数的宏定义不是进行简单的字符串替换,而是要进行参数替换不计算,只是进行简单的替换。替换过程是:用宏调用提供的实参字符串,直接置换宏定义命令行中相应形参字符串,非形参字符保持不变。FNA (FNB (a ))的替换过程为:FNA (2+2)替换为2+2X2+2,计算结果为8。FNB (FNA (b ))的替换过程为:FNB (4*4)替换为4X4+4X4=32。程序运行后的输出结果是8,32,故C 项正确。
5. 对于if (表达式)语句,以下叙述正确的是( )。
A. “表达式”的值可以是任意合法的数值 B. 在“表达式”中不能出现变量 C. 在“表达式”中不能出现常量 D. “表达式”的值必须是逻辑值 【答案】A
【解析】单分支选择语句if 语句格式如下:if (表达式)语句体。“表达式”可以是任意合法的C 语言表达式,包括关系表达式和逻辑表达式等,也可以是任意的数值类型(包括整型、实型、字符型等),A 项正确。“表达式”中可以出现变量或者常量,也不一定必须是逻辑值,B 、C 、D 项错误。
6. 以下不构成无限循环的语句或者语句组是。
A.
B.n=0:
C.n=10:
D. 【答案】A
【解析】A 项,为do-while 循环语句,首先执行do
后面的语句
得n=l,while 条件表达式
为假,退出循环;B 项,while 条件表达式的值始终为1,条件为真,构成无限循环;C 项,while (n ); 语句循环体为空,n 的值在循环中一直保持不变,构成无限循环;D 项,i=l,for 语句中条件判断语句为空,永远为真,构成无限循环。
7. 有以下程序:
程序的运行结果是( )。 A.NelNN B.ela2e3 C.NelNe2N D.NalNNNN 【答案】C
【解析】k=0时,选择default 分支,输出N ; k=l时
,到break 语句,
故继续执行 终输出
8. 有以下程序:
选择ease1分支,因为没有遇即输出e 和1。依次往下执行,最
分支,输出(:和
_
相关内容
相关标签