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

2018年中南林业科技大学机电工程院341农业知识综合三[专硕]之C程序设计考研核心题库

  摘要

一、选择题

1. 有如下程序:

程序运行后的输出结果是( )。 A.25 B.13 C.9 D.12

【答案】B

【解析】带参数的宏定义不是进行简单的字符串替换,而是要进行参数替换。替换过程是:用宏调用提供的实参字符串,直接置换宏定义命令行中相应形参字符串,非形参字符保持不变。调用函数D (i+j),

进行替换为

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

输出13,故B 选项正确。

A. 在C 语言中,预处理命令行都以“#”开头 B. 预处理命令行必须位于C 源程序的起始位置 C.#include必须放在C 程序的开头

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

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

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

3. 设x 、y 、z 均为实型变量,

代数式

A.x/y+z

第 2 页,共 40 页

在C 语言中的正确写法是( )。

B.x%y%z C.x/y/z D.x*z/y 【答案】C

【解析】X 、/的结合顺序是从左到右,所以x 先除以y , 再除以z 。

4. 有以下程序段:

程序运行后的输出结果是。 A.a=10b=50c=10 B.a=10b=50c=30 C.a=10b=30c=10 D.a=10b=30c=50 【答案】A

【解析】a=10,b=50,则a

5. 若有以下程序段

不能正确引用字符串的选项是( )。

A.

B.

C. D. 【答案】D

【解析】strp 是char *类型、长度为4的数组,4个指针分别指向字符串数组str 中的4个字符串。D 项错误,step 是char*的数组,不能引用字符串。A 项正确,引用strp 数组中第一个指针指向的内容,gpaa”; B 项正确,str 是字符串数组,引用数组中的”aa”; C 项正确,于

6. 有以下程序:

t

第 3 页,共 40 页

等价

访问strp 中第四个指针指向的内容,即 ”d”。

程序运行后的输出结果是( )。 A.0 B.1 C.2 D.3

【答案】C 【解析】

运算,当以前缀形式出现时,则先进行加一或减一操作,再取值,当以

结果为

然后输出b 的值。即b 为2。

后缀形式出现时,则先取值,再进行加一或减一操作。a 初始定义为1,b 为0, 先执行0, 即if 判断为假,执行

7. 有以下程序

若运行时输入:2 4 6<回车>,则输出结果为( )。 A.2 0 4 B.2 0 0 C.2 4 0 D.2 4 6 【答案】A

【解析】在二维数组x 中,类型就是数组元素的类型,即

8. 有如下程序:

程序运行后的输出结果是( )。 A.STRENG B.STRIEG C.STREN D.STREN0 【答案】C

【解析】printf

函数按照格式符说明输出对应的数据。给定地址开始依次输出字符,

直到遇到

控制符用于输出字符串,输出时从

初始化

结束。给字符变量赋值0,

相当于赋值

第 4 页,共 40 页

其值依次为二维数组每行第一个元素的地址,其基