当前位置:问答库>考研试题

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 页