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

2018年辽宁师范大学计算机应用研究所836C语言程序设计考研强化五套模拟题

  摘要

一、选择题

1. 以下叙述错误的是( )。

A. 未经赋值的全局变量值不确定

B. 未经赋值的auto 变量值不确定

C. 未经赋值的register 变量值不确定

D. 未经赋值的静态局部变量值为0

【答案】A

【解析】C 语言中,系统将未经赋初值的全局变量默认为0, 答案为A 选项。

2. 有以下程序:

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

【答案】D

【解析】函数f 对结构体进行修改,并返回新的结构体;main 函数先定义了一个结构体变量a 并为它赋初值,然后调用函数f 修改结构体变量的成员值,最后输出新的结构体变量成员。

3. 有以下程序:

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

A.7

B.8

C.9

D.10

【答案】C

【解析】在函数f 中,整型变量a 为静态变量,所以每次调用函数f 时不再为a 重新赋值,而且a 的值只有在程序结束时才被释放。第一次调用f

所以结果为

4. 以下选项中,合法的C 语言实数是( )。

【答案】B

【解析】实型常量指数形式由十进制数加阶码标志符号)组 成。为指数形式实数,B 项正确。阶数不是整数,A 项错误。E13阶码标志前缺少十进制数,C 项错误。缺少阶码,D 项错误。

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

A. 算法正确的程序最终一定会结束

B. 算法正确的程序可以有零个输出

C. 算法正确的程序可以有零个输入

D. 算法正确的程序对于相同的输入一定有相同的结果

【答案】B

【解析】算法的5个特性:①有穷性;②确定性;③可行性;④有零个或多个输入;⑤有一个或多个输出。

6. 以下叙述错误的是( )。

A. 在进行模块化程序设计的时候,应首先完成每个模块的编写调试,再集中考虑主程序中的算法

a 已经变成2了,第二次调用时,或以及阶码(只能为整数,可以带

B. 同一程序各模块可由不同人员同时进行编写调试,可提高编写程序的效率

C. 模块化的程序设计是采用自顶向下、逐步细化的原则

D. 程序的每个模块都可通过三种基本结构实现

【答案】A

【解析】结构化程序设计把一个复杂问题的求解过程分阶段进行,需要保证自顶向下、逐步细化、模块化设计、结构化编码。进行模块化设计时,首先设计框架,并定义和调试好各个模块之间的输入输出关系,然后完成 各个模块的编写调试后再集中编译,模块化的程序设计采用自顶向下、逐步细化的原则,A 选项叙述错误,C 选 项叙述正确。各个模块可以由不同人员同时进行编写调试,提高编写程序的效率,B 选项叙述正确。结构化程序 主要由3种基本控制结构组成,顺序结构、选择结构、循环结构,这三种基本结构可以解决任何复杂的问题,D 选项叙述正确。故选择A 选项。

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

A. 在scanf 函数的格式串中,必须有与输入项一一对应的格式转换说明符

B. 只能在printf 函数中指定输入数据的宽度,而不能在scanf 函数中指定输入数据占的宽度

C.scanf 函数中的字符串是提示程序员的,输入数据时不必管它

D. 复合语句也被称为语句块,它至少要包含两条语句

【答案】C

【解析】C 项正确,scanf 函数中的字符串是为了増加程序的可读性,并不影响数据的输入。A 项错误,可以在%和格式字符之间加入号,作用是跳过对应的输入数据;B 项错误,可以在格式字符前加入一个正整数指定输入数据所占的宽度;D 项错误,用一对花括号把若干语句括

起来构成一条复合语句。一个复合语句在语法上视为一条语句,在一对花括号内的语句数量不限。

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

A.x%2==l

B.x/2

D.x%2==0

【答案】D

【解析】x 为大于1的奇数,x%2的值为1,x%2==0为假。

9. 以下不能用于实型数据的运算符是( )。

【答案】A 【解析】

符号两边必须是整数,因此答案为A 项。