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

2016年山东科技大学信息科学与工程学院C语言程序设计(同等学力加试)复试笔试仿真模拟题

  摘要

一、选择题

1. 有以下定义:

以下叙述中错误的是( )。 A.x 的内存地址与x.i 的内存地址相同 B.struct data是一个类型名

C. 初始化时,可以对x 的所有成员同时赋初值 D. 成员i 、c 和d 占用的是同一个存储空间 答:D

【解析】i 、c 、d 是结构体变量x 中的三个不同的成员,占用不同的存储空间。共用体的各成员占用同一个存储空间。

2. 以下不构成无限循环的语句或者语句组是。

A.

B.n=0:

C.n=10:

D. 答:A

【解析】A 项,为do-while 循环语句,首先执行do 后面的语句

得n=l,while 条件表达式

为假,退出循环;B 项,while 条件表达式的值始终为1,条件为真,构成无限循环;C 项,while (n ); 语句循环体为空,n 的值在循环中一直保持不变,构成无限循环;D 项,i=l,for 语句中条件判断语句为空,永远为真,构成无限循环。

3. 若有以下程序

则程序的输出结果是( )。 A.5, 1, 2, -1 B.2, 1, 2, -1 C.2, 2, 2, 4 D.1, 2, 3, 4 答:A 【解析】

和II 是逻辑运算符,

符号两侧都为真时,结果为真,否则返回假;苻号两

侧都为假时,结果为假,否则返回真。

题目没有答案,原题可能是

输出a ,b ,c ,d

第一个if 判定表达式中是两个赋值语句,结果判定为true ,执行结束后a=2, b=l,c=2在第二个if 判定表达式中,c==3判定为false ,然后执行d=-l,非零值,判定为true ,所以执行a=5,最终结果是a=5,b=1,c=2,d=-1,选A 。

4 有.

下程序

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

A.2.0 B.1.7 C.2 D.1 答:D

【解析】在类型转换过程中,如果较高类型转换成较低类型,直接忽略多余位数。在程序执,行过程为:调用函数sub (3.8,2.1. , 3.8—2.1=1.7(double 类型)(int )强制转换将1.7转换成int 类型1, 然后返回1并输出,故D 选项正确。

5. 若有定义语句intx=12,y=8,z ;,

其后执行语句

A.1.9 B.1 C.2 D.2.4 答:B 由于z 定义为整型,故最终结果为1。

6. 以下合法的转义字符是( )。

A. B.

则z 的值为。

【解析】根据优先级先计算x/y, 即12/8,由于是整型,故x/y的值为1,接着计算0.9+1=1.9,

C. D. 答:D

【解析】表示1到2位十六进制所代表的字符,D 项正确。

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

答:A

【解析】实型常量用带小数点的数字表示,其值有两种表达形式,分别为十进制小数形式和指数形式。指数形式由十进制数加阶码标志成,而A 项中阶码

并且值为10000,故选择A 项。

8. 设有以下说明和语句:( )。

A. B. C. D. 答:A

【解析】题目中表达式。

则与表达式

等价的选项是

以及阶码(只能为整数,可以带符号)组

是浮点数,所以A 项不能正确表示10X1000之值,B 、C 、D 项都表示正确

是指向有4个元素的数组指针,a 为二位数组首地址,赋值给数组指针p 。是对数组a 第1行第3列元素的引用。

是数组第1行第3列元素,

B 项错误。是对数组第3行第1列元素的引用,

是数组第3行第1列元素,D 项错误。 的值是( )。

A

项正确。与题目中等价,

对数组第1行第3列元素的引用,C 项错误。

9. 若有定义语句则

A.7 B.8 C.9 D.10 答:A

【解析】在C 语言中,字符串可以存放数字字符串,但规定以字符串长度是有效字符数组的长度,即为7。

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

A.C 语言规定必须用main 作为主函数名,程序将从此开始执行

作为字符串结束标识。

所以字符数组的长度并不是字符串的长度,系统字符串"1234567\0\0"与"1234567" 等效,所以字符

B. 可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行