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

2018年河北科技师范院数学与信息科技院341农业知识综合三[专硕]之C程序设计考研强化五套模拟题

  摘要

一、选择题

1. 以下选项中,当x 为大于1的奇数时,值为0的表达式是( )。

【答案】D

【解析】x 为大于1的奇数,

2. 有如下程序:

程序运行后的输出结果是( )。

A.56,57,

B.57,58,

C.57,57,

D.55,57,

【答案】C

【解析】convert ( )函数定义了一个形参:指针变量*data。函数体中将指针变量*data对应地址的值进行加1处理,再返回加1前data 的值。main ( )函数中,定义了变量data 并赋初值56,调用covert ( )函数,改变变量data 的值,此时data=57; 程序执行data=convert(&data),函数convert ( )返回的是执行前data 的值,所以data=57。C 项正确。

3. 有如下程序:

第 2 页,共 87 页 的值为1,^为假。

程序运行后的输出结果是( )。

A.min=l, max=9

B.min=0, max=9

C.min=l, max=4

D.min=0, max=4

【答案】B

【解析】在对数组进行初始化时,如果在说明数组时给出了长度,但没有给所有的元素赋予初始值,而只依次给前面的几个数组元素赋予初值,那么c 语言将自动对余下的元素赋初值0,

程序的执行过程为:调用函数将数组array 首地

址传人函数,定义结构体变量res ,并为其成员赋值。for 循环查找数组array 数组的最小值0,将其赋值给res 的成员first , 查找数组最大值9, 赋值给res 的成员second 。最后返回结构体变量res ,

则输出故

B 选项正确。

4. 以下叙述中正确的是( )。

A. 在C 语言中,预处理命令行都以“#”开头

B. 预处理命令行必须位于C 源程序的起始位置

C.#include必须放在C 程序的开头

第 3 页,共 87 页

D.C 语言的预处理不能实现宏定义和条件编译的功能

【答案】A

【解析】编译预处理”就是在C 编译程序对C 源程序进行编译前,由编译预处理程序对这些编译预处理命令行进行处理的过程。A 项正确,在C 语言中,凡是以“#”号开头的行,都称为“编译预处理”命令行。B 项错误,预处理命令行可以出现在程序的任何一行的开始部位,其作

C 项错误,#inClUde可以出现在程序的任意一行的开始部位;用一直持续到源文件的末尾;

D 项错误,预处理可以实现宏定义、条件编译和文件包含。

5. 若有定义:

则正确的switch 语句是( )。

【答案】D

【解析】D 项正确,标号可以是整型表达式。A 项错误,case 是关键字,与其后面的常量表达式合称case 语句标号。常量表达式的类型必须与swicth 后圆括号中的表达式类型相同,各case 语句标号的值应该互不相同。c 是变量,不能作为表达式放在case 后面;B 项错误,switch 后面不应该有分号;C 项错误,switch 参数值类型必须是这几种类型之一:

6. 有以下程序:

程序运行时键盘输入9〈回车>,则输出的结果是( )。

A.10

B.11

C.9

D.8

第 4 页,共 87 页