2018年河南师范大学计算机与信息工程院846数据结构与C程序设计之C程序设计考研基础五套测试题
● 摘要
一、选择题
1. 若已有定义语句:inta ,b ,c ; ,且变量已正确赋初值,则以下选项中正确的赋值表达式是( )。
A.a=(b=c)+8; B. (a=b)=c=9; C.a=(b==c)=‘A ’; D.a+b=c+l; 【答案】A
【解析】A 项正确,将c 赋值给b 后又加上8,然后再赋值给a ; B 、D 项错误,赋值运算符左边必须是一个变量;C 项错误,(b==c)是个表达式,语法错误。
2 若有定义语句:.
误的是( )。
【答案】C
【解析】:数组的下标从零开始,数组m 中有5个元素,所以数组m 即
为
C 项,
但是数组下标范围是
3. 有如下程序:
第 2 页,共 42 页
则下面对m 数组元素的引用中错
引用数组元素为
所以溢出引用错误。
程序运行后的输出结果是( )。
A.ABCDDCBA B.ABCD C.A
D.DCBA 【答案】D
【解析】本题程序的执行过程为:调
用语句后的输出语句,输出
执行
函数
,
执行
执行
if 条件成
立
中if
if 条件不成立,输出
中if 语句后的输出语句,输出
中if 语句后的输出语句,输出A ,函数调用完成。程序运行后的输出结果是DCBA 。
4. 若有以下程序
则程序的输出结果是( )。 A.1 B.9 C.8 D.5
【答案】B
【解析】函数的递归调用,调用过程如下表所示。
第 3 页,共 42 页
实际上,该段代码的作用是返回数组a 里面的最大值。
5. 设有两行定义语句:
int scanf; float case;
则以下叙述正确的是( )。 A. 两行定义语句都不合法 B. 两行定义语句都合法 C. 第1行语句不合法 D. 第2行语句不合法 【答案】D
【解析】预定义标识符是系统已经有过定义的标识符,用户可以重新定义,可以作为变量名。scanf 为库函 数名,属于预定义标识符,可以被用户重定义,第一行语句合法。C 语言关键字是被保留的,不能用作其他用途 的一些标识符,它们在程序中都代表着固定的含义,用户不可重新定义。case 是选择结构switch 语句中的关键字,不可被用户重定义,第二行语句不合法。
6. 有以下程序:
程序运行后的输出结果是( )。 A.256 B.652 C.2560 D.52
【答案】A
【解析】程序的执行过程为:调用函
数
即
回
输出字符
是256, 故A 项正确。
7. 有以下程序:
第 4 页,共 42 页
即条件成立,调
用
返
条件成立,调用返回
输出字符
条件不成立,跳出循环,输出字符
函数调用结束。程序运行后的输出结果