2016年武汉轻工大学数学与计算机学院C语言程序设计(同等学力加试)复试笔试最后押题五套卷
● 摘要
一、选择题
1. 有以下程序:
程序运行后的输出结果是( )。
A.10
B.11
C.20
D.21
答:D
【解析】题中定义了一个包含两个元素的结构体数组,其中data[0].a=10,data[0].b=100,data[l].a=20,data[l].b=200。指针p 指向结构体数组的第2个元素,那么p.a 的值为20, p.b 的值为200, 所以输出结果为21。
2. 以下选项中,合法的是( )。
A. B. C. D.
答:A
【解析】A 中是在赋初值时直接赋字符串常量。B 项错误,str4是字符变量不能赋值为字符串常量;CD 两项错误,字符串常量给出的是地址值,而数组名name 是一个地址常量,不能被重新赋值。
3. 若有函数声明
:
A. 函数参数array ,ptr 都是指针变量
B. 函数参数array 不是指针变量,ptr 是指针变量
C. 调用函数时,实参数组的值将一一复制给array 数组
D. 调用函数时,array 是按值传送,ptr 是按地址传送
答:A
第 2 页,共 35 页 以下叙述正确的是( )。
【解析】数组名为数组的首地址,也是指向数组的指针,所以array 和ptr 都是指针,A 项正确,B 项错误。调用函数时,将实参数组首地址赋给指针array , 而不是传递整个数组元素,C 项错误。调用函数时,ar-ray 与ptr 都是按地址传送的,D 项错误。
4. 设有定义
以下能够代表数组元素的是( )。
A.
B.
C.
D.
答:B
I
I 取出数组元素A 项,小括号和方括号的优【解析】B 项,S+3指向a[3]的地址,
先级高于*
,
等价子
代表元素,对先级相同,从左向右结合,先取的值,然后再进行方括号运算,编译错误;C 项,方括号的优元素进行间址运算,编译错误;D 项,间址操
作符*的优先级高于加号,先取出8指向的数据,然后加3, 并不是数组元素
5. 有以下程序:
程序运行后的输出结果是( )。
A.654321
B.116611
C.161616
D.123456
答:A
【解析】函数fun 的功能是,将数组的第一个元素与最后一个元素进行比较,将大者放到前面,再将数组的第二个元素与倒数第二个元素进行比较,同样,大者放到前面,由于数组原来是按从小到大顺序排列的,故通过程序输出的是654321。
6. 有以下程序:
第 3 页,共 35 页
程序运行后的输出结果是( )。
A.6, 1
B.1, 1
C.7, 1
D.1, 2
答:C
【解析】表达式. 中,>>是右移符号,数字13换算成二进制后右移1位,再和
中,首先判断13是否大于1,此时条件成立1进行按位或运算,结果为7; 表达式
返回1后,再和1进行或运算,结果为1,因此答案为C 选项。
7. 若有以下程序
则程序的输出结果是( )。
A.1, 2
B.0, 2
C.1, 3
D.2, 3
答:A 【解析】是先判定a 是否等于0, 如果a 等于0, 跳出循环;否则进入循环;但是不管判定是否成功,判定结束后都要执行a++操作。
第一次循环,a 等于-2, 满足条件,执行a++,++b, a 变成-1,b 变成1;
第二次循环,a 等于-1,满足条件,执行a++,++b, a 变成0,b 变成2;
第三次循环,a 等于0, 不满足条件,执行a++,a 变成1,b 仍然是2。
8. 以下关于C 语言函数参数传递方式的叙述正确的是( )。
A. 数据只能从实参单向传递给形参
B. 数据可以在实参和形参之间双向传递
C. 数据只能从形参单向传递给实参
D.C 语言的函数,参数既可以从实参单向传递给形参,也可以在实参和形参之间双向传递,可视情况选择使用
答:A
第 4 页,共 35 页