当前位置:问答库>考研试题

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 页

即条件成立,调

条件成立,调用返回

输出字符

条件不成立,跳出循环,输出字符

函数调用结束。程序运行后的输出结果