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. 可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行