2018年北京信息科技大学计算机院814数据结构和C语言程序设计[专硕]之C程序设计考研强化五套模拟题
● 摘要
一、选择题
1. 以下不是合法C 语言转义字符的是( )。 A. B. C. D.
【答案】A
【解析】C 语言中,
2. 设有两行定义语句:
intscanf ;
floatcase ; 表示响铃,表示退格,表示回车不换行,故答案为A 选项。
则以下叙述正确的是( )。
A. 两行定义语句都不合法
B. 两行定义语句都合法
C. 第1行语句不合法
D. 第2行语句不合法
【答案】D
【解析】预定义标识符是系统已经有过定义的标识符,用户可以重新定义,可以作为变量名。scanf 为库函数名,属于预定义标识符,可以被用户重定义,第一行语句合法。C 语言关键字是被保留的,不能用作其他用途的一些标识符,它们在程序中都代表着固定的含义,用户不可重新定义。case 是选择结构switch 语句中的关键字,不可被用户重定义,第二行语句不合法。
3. 以下程序中给数组所有元素输入数据,请从选项中选择正确的答案填入下划线处。
A.
B.
C.
D.
【答案】A
【解析】A 选项a 为数组首地址,i++先取i 值再加1,scanf 读入的数据依次存放在数组中,A 选项正确。B 选项,进入死循环,i-直为0, 一直对a[i+l]读入数据,B 选项错误。C 选项,控制变量i 没有依次加1,无法结束循环,也无法对整个数组赋值,输入的数全是a[0], C 选项错误。D 选项数组元素引用错误,数组元素引用为
4. 有以下程序:
程序运行的结果是( )。
A.40
B.16
C.8
D.4
【答案】C
【解析】左移一位相当于原数乘以2, 右移一位相当于除以2。类型的范围。
5. 有以下程序:
程序运行后的输出结果是( )。
A.0
B.1
C.4
D.8
【答案】C
【解析】对局部静态变量在编译时赋初值,以后每次调用函数时一直保持不变,只是保留上
不是( ),D 选项错误。故选A 。 结果为没有超过char
次函数调用结束 时的值。在主函数中调用了两次fim0函数,所以x 的值变为
6. 以下关于typedef 的叙述错误的是( )。
A. 用typedef 为类型说明一个新名,通常可以增加程序的可读性
B.typedef 只是将已存在的类型用一个新的名字来代表
C. 用typedef 可以为各种类型说明一个新名,但不能用来为变量说明一个新名
D. 用typedef 可以增加新类型
【答案】D
【解析】用typede 只是将已存在的类型用一个新的名字来代表,并没有增加新类型。
7. 有以下程序:
运行时,若输入123450<回车>,则输出结果是( )。
A.6566456
B.66656
C.66666
D.6666656
【答案】A
【解析】输入1:执行easel ,输出6,没有遇到break ,继续执行case2,输出5,遇到break ,跳出;
输入2:执行case2,输出6,遇到break ,跳出;
输入3:执行case3,输出6,没有遇到break ,执行default ,输出4;
输入4:执行default ,输出5;
输入5:执行default ,输出6。
最后输出结果是6566456。
8. 有以下函数: