2017年上海海事大学文理学院828数据结构及程序设计之C程序设计考研强化模拟题
● 摘要
一、选择题
1. 下列叙述中正确的是( )。
A. 两个连续的双引号(“”)是合法的字符串常量
B. 两个连续的单引号(“)是合法的字符常量
C. 可以对字符串进行关系运算
D. 空字符串不占用内存,其内存空间大小是0
【答案】A
【解析】A 项正确,两个连续的双引号:"" 也是一个字符串常量,称为“空串”。B 项错误,两个连续的单引号表示空字符,空字符它不占内存,故其不能称之为字符常量,常量是要有地址
C 项错误,C 语言中不能对字符串直接使用关系运算符进行运算,的;但是可以使用比较函数strcmp 进行比较;D 项错误,空串要占一个字节的存储空间来存放
2. C 语言整数不包括( )。
A. 带小数点的整数
B. 正整数
C. 负整数
D. 无符号整数
【答案】A
【解析】C 语言整数包括正整数,负整数,无符号整数,不含带小数点的整数。
3. 关于“while (条件表达式)循环体”,以下叙述正确的是( )。
A. 循环体的执行次数总是比条件表达式的执行次数多一次
B. 条件表达式的执行次数总是比循环体的执行次数多一次
C. 条件表达式的执行次数与循环体的执行次数一样
D. 条件表达式的执行次数与循环体的执行次数无关
【答案】D
【解析】一般来说,while 循环是先判断条件,满足条件后执行循环体,执行完后接着判断条件,执行,直到最后一次判断条件后不成立,跳出循环,所以最后一次执行了条件表达式,但是没有执行循环体。
但是while 循环体中有break 时,条件表达式的执行次数与循环体的执行次数一样。比如:
第 2 页,共 34 页
应该说条件表达式的执行次数不会比循环体的执行次数多。
4. 按照C 语言规定的用户标识符命名规则,不能出现在标识符中的是( )。
A. 大写字母
B. 连接符
C. 数字字符
D. 下划线
【答案】B
【解析】C 语言中标识符只能由下划线、字母和数字组成,且不能以数字开头。
5. 有以下程序:
程序运行的结果是。
【答案】D
【解析】外层主循环i 从3减到1执行了3次,嵌套的循环变量j 从1增到2, 每轮执行2次,每次输出i+j的值,即为3+1、3+2、2+1、2+2、1+1、1+2,但注意每次内循环结束要换行。
6. 设有以下语句
执行后,c 的值为( )。
A.9
B.7
C.8
D.6
【答案】A 【解析】后得到8, 异或操作,两个操作数相同得0, 不同得1。a 的最右4位是0001,b
第 3 页,共 34 页
的最右4位是1000, 其佘尾全部是0。
7. 有如下程序:
程序运行时,从键盘输入:3〈回车〉后,程序输出结果为( )。
A.3, 4,
B.0, 1,
C.3, 4, 5,
D.0, 1, 2, 3,
【答案】D
【解析】break 语句作用是结束整个循环过程,不再判断执行循环的条件是否成立,且在嵌套循环中,其只跳出最内层的一层循环。本题执行过程为:输入3, 则data=3; 执行for 循环,在
时,if 条件不成立,执行语句依次输出i 值,0,1,2,3; 直到i=4时,if 条件成立,执行break 退出for 循环。故D 选项正确。
8. 有以下程序:
程序运行后的输出结果是( )。
A.1,3
B.2,3
C.1,4
D.1,2
【答案】A
【解析】其中p=p+l; 只改变指针p 的地址,与p 的内容无关,所以m 值没有改变,而
是改变该指针所指地址中的内容,所以n 变为3,m 不变。
第 4 页,共 34 页
相关内容
相关标签