2018年曲阜师范大学传媒院855计算机应用基础之C程序设计考研基础五套测试题
● 摘要
目录
2018年曲阜师范大学传媒院855计算机应用基础之C 程序设计考研基础五套测试题(一) . .. 2 2018年曲阜师范大学传媒院855计算机应用基础之C 程序设计考研基础五套测试题(二) . 10 2018年曲阜师范大学传媒院855计算机应用基础之C 程序设计考研基础五套测试题(三) . 18 2018年曲阜师范大学传媒院855计算机应用基础之C 程序设计考研基础五套测试题(四) . 27 2018年曲阜师范大学传媒院855计算机应用基础之C 程序设计考研基础五套测试题(五) . 35
一、选择题
1. 有以下程序:
程序运行后的输出结果是( )。
【答案】C
【解析】本题将两个字符串常量赋值给一个二维字符数组,用字符常量为字符数组赋值需要在最后加上一个休止符表示字符串结束,所以数组长度为字符的个数加1, 而且数组的下标是从0开始计数,所以P 指向第二个字符串。
2. 有以下程序
程序运行后的输出结果是( )。
A.3
B.1
C.2
D.4
【答案】B
【解析】函数' 有两个形参,第一个形参是传值,第二个形参是传引用,在函数fun 内部改变s 的值,则在函数fun 外部也会发生相应改变。f 是函数内部的局部变量,递归调用时,把局部变量f 以指 针的形式传入,在下一层函数中会对f 进行修改,当下一层函数返回后,再把当前局部变量f 赋值给形参s 。函 数调用过程如下表所示。
3. 若程序中有宏定义行:
#defineN100
则以下叙述中正确的是( )。
A. 宏定义行中定义了标识符N 的值为整数100
B. 在编译程序对C 源程序进行预处理时用100替换标识符N
C. 上述宏定义行实现将100赋给标识符N
D. 在运行时用100替换标识符N
【答案】D
【解析】D 项正确,预处理程序对源程序中所有使用宏名的地方进行直接替换。A 项错误,宏定义没有类型限制;B 项错误,预处理程序进行宏替换,而非编译程序;C 项错误,宏定义不是赋值操作,而是进行在预编译时进行替换。
4. 若变量x 、y 已正确定义并赋值,以下符合C 语言语法的表达式是( )。
A.x+l=y
B.++x, y=x--
C.x=x+10=x+y
D.double (x )/10
【答案】B
【解析】B 项正确,++x是前缀表达式,y=x--是复合语句,先进行x--, 然后把自减后的值赋给y 。A 项错误,x+1是右值,不能被赋值;C 项错误,x+10是右值,不能被赋值;D 项错误,应改成(double )x/10, double (x )/10是表示声明了一个double 变量,它名字是(x )A0,显然不符合C 语言语法。
5. 若有以下程序
则程序的输出结果是( )。
A.2,9,4,7, 6,5,8,3,10,1,
B.10, 9, 8, 7, 6, 5, 4, 3, 2, 1,
C.10, 1, 8, 3, 6, 5, 4, 7, 2, 9,
D.1, 10, 3, 8, 5, 6, 7, 4, 9, 2,
【答案】C
【解析】fun 函数的作用是把数组a 中的奇数位置元素从小到大排序。
6. 有以下程序:
程序运行后的输出结果是。
A.2
B.4
C.
D.8
【答案】D
a 的初始值为2, 程序中将a 左移2位的结果赋值给b , 即相当于十进制乘以4, 结果为【解析】
8。
7. 有以下程序: