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

2017年中南林业科技大学机电工程学院341农业知识综合三[专业硕士]之C程序设计考研仿真模拟题

  摘要

一、选择题

1. 以下关于C 语言的叙述中正确的是( )。

A.C 语言中的注释不可以夹在变量名或关键字的中间

B.C 语言中的变量可以在使用之前的任何位置进行定义

C. 在C 语言算术表达式的书写中,运算符两侧的运算数类型必须一致

D.C 语言的数值常量中夹带空格不影响常量值的正确表示

【答案】B

【解析】A 项错误,C 语言中,程序中的注释可以出现在程序中任何合适的地方,为了方便程序理解,一般不建议写在变量名或关键字的中间;C 项错误,在C 语言的算术运算符中,取余运算符“%”的两个运算分量必须是整数,但对于其他运算符,如“+”来说,两侧的运算符类型也可以不一样,例如左侧为一个字符类型,右侧为一个整数类型,系统在执行程序时会自动将字符类型转换为ASCII 值进行运算;D 项错误,C 语言的数值表示时各个数位必须紧靠在一起,否则编译系统只会识别紧靠运算符的一部分数值,另一部分数值会发生语法错误。

2. 有以下程序

程序运行后,若从键盘输入(从第1列开始)

123<回车>

45678<回车>

则输出结果是( )。

A.1245

B.1256

C.1278

D.1267

【答案】A

【解析】scanf ( )是格式化输入函数;getehar ( )函数从键盘缓冲区读入下一个

字符;putehar ( )输出一个字符;printf ( )函数是格式化输出函数。在题目中,程序执行到scanf ( )函数时,会暂停等待用户输入4个字符,按题意输入123〈回车〉后,字符1〜3被分别赋值到cl 〜c3中,而c4会得到一个换行符然后执行第1个getchar ( )函数,由于前面的scanf ( )函数读完了缓冲区中的所有字符,所以此时程序又会暂停等待用户输入,按题意输入45678〈回车〉后,缓冲区第一个字符4赋值c5, 第二个字符5赋值给c6。

3. 设有定义:

以下选项的四个表达式中与其他三个表达式的值不相同的是( )。

【答案】C 【解析】表达式值为k 的值,其余为

4. 以下叙述中错误的是( )。 的值。

A.C 语言中的每条可执行语句和非执行语句最终都将被转换成二进制的机器指令

B.C 程序经过编译、链接步骤之后才能形成一个真正可执行的二进制机器指令文件

C. 用C 语言编写的程序称为源程序,它以

D.C 语言源程序经编译后生成后缀为

【答案】A

【解析】A 项错误,注释语句不会被翻译成二进制的机器指令。C 源程序经过C 编译程序编

,然后由“连接程序”(Link )的软件,译之后生成后缀 为.OBJ 的二进制文件(称为目标文件)

把OBJ 文件与各种库函数连接 起来生成一个后缀为.EXE 的可执行文件。

5. 若变量已正确定义为int 型,要通过语句代码形式存放在一个文本文件中 的目标程序 给a 赋值1、给b 赋值2、给c 赋值3,以下输入形式中错误的是( )(注:⑪代表一个空格符)。

A. B. C.

D.1, 2, 3

【答案】A

【解析】使用该语句时,要求除格式控制符以外的字符都要原样输入,“,”为非格式符,要原样输入。A 项中没有输入非格式符“,”,是不正确的。

6. 以下不合法的数值常量是( )。

B.lei

C.011

D.Oxabcd

【答案】A

【解析】E 前E 后有数字,E 后数字为整数,A 项E 后面为小数,错误。

7. 有以下程序:

程序运行的结果是( )。

A.40

B.16

C.8

D.4

【答案】C

【解析】左移一位相当于原数乘以二,右移相当于除以二,结果为4X2=8。没有超过char 的类型表示范围,所以输出8。C 语言中字符型变量可以用在任何整型变量可以使用的地方。

8. 若有以下程序

»

则程序的输出结果是( )。

A.2, 2, 2, 4

B.2, 1, 2, -1

C.5, 1, 2, -1

D.1, 2, 3, 4

【答案】D 【解析】和II 是逻辑运算符,符号两侧都为真时,结果为真,否则返回假;符号两侧都为假时,结果为假,否则返回真。题目中两个if 语句条件判定都是false , abed 的值不会发生改变。

9. 有以下程序: