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

2017年辽宁师范大学计算机与信息技术学院866C语言与数据结构考研导师圈点必考题汇编

  摘要

一、选择题

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

A.C 语言编写的函数源程序,其文件名后缀可以是.C B.C 语言编写的函数都可以作为一个独立的源程序文件 C.C 语言编写的每个函数都可以进行独立的编译并执行 D. —个C 语言程序只能有一个主函数 【答案】C

【解析】C 源程序经过C 编译程序编译之后生成一个后缀为.OBJ 的二进制文件(称为目标文,然后由称为“连接程序”(Link )的软件,把此.OBJ 文件与C 语言提供的各种库函数连接件)

起来生成一个后缀为.EXE 的可执行文件。只有含有main 函数的经过编译链接才能执行。

2. 以下四个程序中,完全正确的是( )。

【答案】B

【解析】A 项中,“main ( )”函数后面不能加分号;C 语言中注释语句的注释方法是

或//注释一行,

“indUde”前缺少“#”号。

3. 有以下程序:

执行时若输入:Fig flower is red. <回车>则输出结果是( )。 A.Figflowerisred. B.Figflowefisred.

和不能嵌套使用,C 项错误; D 选项中预编译命令

C.Figflower is red. D.Fig flower is red. 【答案】A

【解析】scanf ( )函数从输入设备按照指定的类型输入对应类型的若干个数据,遇到空格、制表符和回车 时读取结束。可知读到第一个空格时读到第二个空格时

赋值结束,为flower , 可知

赋值结束,为Fig , 从第一个有效字符

为red. 。prinff ( )函数格

为is ,

式控制符%输出字符串,遇到结束输出。输出结果为 “Figflowerisred. ”。

4. 若i 和k 都是int 类型变量,有以下for 语句:

下面关于语句执行情况的叙述中正确的是。 A. 循环体执行两次 B. 循环体执行一次 C. 循环体一次也不执行 D. 构成无限循环 【答案】D

【解析】本题中for 循环判断条件为k=l, 这个语句是赋值语句,总是正确的,所以会陷入无限循环中。

5. 有以下程序:

程序的运行结果是( )。 A.nice B.verynice C.nicegood D.verygood 【答案】D

【解析】通过赋值运算使一个字符指针指向一个字符串常量:

这种形式

只是将字符串“nice”首地址赋给指针,而不是将指针原本指向的单元元素改变成“nice”。程序执行过程为:定义字符数 组并且初始化为“verygood”常量,定义指针ps 使其指向数组,使ps 指向数组第5个元素,使指针指向字符串 “nice”,这并不影响s 数组任何元素值,故输出字符串8为“verygood”。

6. 在C 语言中,以下选项中不能正确表示10X1000之值的是( )。

A.1.0E4.0

B.1.E4 C.10E3 D.1.0e4 【答案】A

【解析】实型常量用带小数点的数字表示,其值有两种表达形式,分别为十进制小数形式和指数形式。指数形式由十进制数加阶码标志“e ”或“E ”以及阶码(只能为整数,可以带符号)组成,而A 项中阶码4.0是浮点数,所以A 项不能正确表示10X1000之值,B 、C 、D 项都表示正确并且值为10000,故选择A 项。

7. 有以下程序:

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

【答案】B

【解析】C 语言中,字符串没有专门的类型表示,是通过字符数组表示,在字符串末尾用表识字符串结 束。字符串s 的前三个字符满足if 语句,所以

当遇到

时,for 循环终止,

所以最后输出n 值为3。

8. 设有定义:intx=ll,y=12,z=0; ,以下表达式值不等于12的是( )。

A. (z ,x ,y ) B. (z=x,y ) C.z=(x ,y ) D.z=(x==y) 【答案】D

【解析】逗号表达式的计算过程是从左到右逐个求每个表达式的值,取最右边一个表达式的值作为该逗号表达式的值。赋值运算结合性为由右向左结合,赋值运算符左值为变量,右值为变量或常量,且左右两边数据类型相同才能实现赋值。成功实现赋值后以左值为返回值。逻辑表达式成立则返回1,不成立返回0。D 选项逻辑表达式x==y不成立,则z=0,表达式值为0。B 选项逗号表达式X ,y 取y 值为表达式值,然后赋值给z=12,表达式值为12。C 选项逗号表达式(x ,y )取y 值为表达式值,然后赋值给z=12,表达式值为12。A 选项逗号表达式(z ,x ,y )取y 值