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
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 页
其值依次为二维数组每行第一个元素的地址,其基