2016年哈尔滨师范大学教育科学学院多媒体技术与C程序设计之C程序设计考研复试题库
● 摘要
一、选择题
1. 有以下程序:
若想通过键盘输入,使得的值为12, a2的值为34, cl 的值为a , c2的值为b , 程序运行后的输出结果是:12,a , 34, b , 则正确的输入格式是(以下代表空格,
A. B. C. D. 答:A 加逗号、回车和空格,因为这些也算是字符。
2. 设有定义
以下能够代表数组元素的是( )。
A. B. C. D. 答:B
【解析】B 项,S+3指向a[3]的地址,先级高于*
,
等价子
代表
元素,对
I 取出数组元素
A 项,小括号和方括号的优
先级相同,从左向右结合,先取的值,然后再进行方括号运算,编译错误;C 项,方括号的优
元素进行间址运算,编译错误;D 项,间址操
作符*的优先级高于加号,先取出8指向的数据,然后加3, 并不是数组元素
3. 下列函数的功能是 。
第 2 页,共 33 页
代表回车)( )。
【解析】在输入字符型时,要求输入数据时按照一一对应的位置原样输入这些字符,即不能
I
A. 将a 所指字符串赋给b 所指空间 B. 使指针b 指向a 所指字符串
C. 将a 所指字符串和b 所指字符串进行比较 D. 检查a 和b 所指字符串中是否有答:A
【解析】本题中a 和b 是两个字符型指针,在while 语句的表达式中将指针a 所指向的字符赋给指针b 所指 向的内存单元,再判断指针b 所指向的字符是不是字符串中的空字符,如果不是,则字符指针a 和b 的值分别加1,再执行循环语句,直至b 所指向的字符为字符串中的空字符时跳出循环。
4. 有以下定义
答:A
【解析】%运算是取两整数相除后余数的运算符,它只适用于整数的运算。A 项正确,果为double 型, 但是通过强制类型转换将其转换为int 型;B 项错误,个优先级的,
先运行为左值。
5. 有以下程序:
$
程序的运行结果是( )。 A.7, 6, 5 B.5, 5, 5 C.7, 5, 5 D.5, 6, 5 答:B
【解析】条件表达式的优先级高于赋值表达式,
第 3 页,共 33 页
则以下选项中正确的表达式是( )。
结
中==和!=是同一
不能作
而因为double 是占8位的,不能自动转换,必须要强制类型转换
,
b 中的
为double 型;D 项错误,
才是正确的;C 项错误,
和运算,当以前缀形式出现时,则
先进行加一或减一操作,再取值,当以后缀形式出现时,则先取值,
再进行加一或减一操作。
中先执行
给j ,再进行
6. 有以下程序:
为否,则执行
此时b 为5, 赋给i ,i 为5;
将
先赋
故最后输出的是5,5,5。
程序运行后的输出结果是( )。 A.6 B.7 C.11 D.12 答:A 【解析
】
是字符数组,初始化时未赋初始值的自动赋
值
即
函数求字符串长度,统计
长度时以结束,即统计到长度为6时结束,strlen 函数返回值为6。
7. 以下选项中叙述正确的是( )
A.C 程序中的语句要经过编译才能转换成二进制机器指令 B. 算法需要包含所有三种基本结构 C. 有些算法不能用三种基本结构来表达 D. 简单算法的操作步骤不能超过20步 答:A
【解析】编译就是把高级语言变成计算机可以识别的二进制语言,不经过编译的源程序是不能运行的,A 选项正确。算法不一定要包含所有三种基本结构,也可以只包含一种或两种,B 选项错误。结构化程序主要由3种 基本控制结构组成,循环结构、选择结构、顺序结构,它们组成的算法结构可以解决任何复杂的问题,C 项错误。算法的复杂程序不是由操作步骤多少决定的,而是按时间复杂度与空间复杂度来衡量,D 选项错误。
8. 有以下程序:
第 4 页,共 33 页