2017年重庆师范大学计算机与信息科学学院819数据结构与程序设计之C程序设计考研强化模拟题
● 摘要
一、选择题
1. 以下叙述中正确的是( )。
A. 如果根据算法需要使用无限循环(即通常所称的“死循环”),则只能使用while 语句
B. 对于“for (表达式1; 表达式2; 表达式3)循环体”首先要计算表达式2的值,以便决定是否开始循环
C. 对于“for (表达式1; 表达式2; 表达式3)循环体”,只在个别情况下才能转换成while 语句
D. 只要适当地修改代码,就可以将do-while 与while 相互转换
【答案】D
【解析】D 项正确,C 语言中do-while 语句和while 语句作用是等价的,二者可以经过适当的修改互换。A 项错误,do-while 和for 循环也能写成死循环;B 项错误,for 循环首先执行表达式1; C 项错误,for 循环体经过适当的修改都可以转换成while 语句。
2. 表达式:的值是( )。
A.4
B.0
C.3
D.5
【答案】C 【解析】值为4,
3. 以下叙述中错误的是( )。
A. 非零的数值型常量有正值和负值的区分
B. 常量是在程序运行过程中值不能被改变的量
C. 定义符号常量必须用类型名来设定常量的类型
D. 用符号名表示的常量叫符号常量
【答案】C
【解析】在C 语言程序中,可以用一个符号名来代表一个常量,称为符号常量,符号常量在定义是不需要类型,其本身就能表达其类型。
4. 若有以下程序
第 2 页,共 42 页 值为1,相减值为3。
则程序的输出结果是( )。
A.1, 2
B.0, 2
C.1, 3
D.2, 3
【答案】A 【解析】是先判定a 是否等于0, 如果a 等于0, 跳出循环;否则进入循环;但是不管判定是否成功,判定结束后都要执行a++操作。
第一次循环,a 等于-2, 满足条件,执行a++,++b, a 变成-1,b 变成1;
第二次循环,a 等于-1,满足条件,执行a++,++b, a 变成0,b 变成2;
第三次循环,a 等于0, 不满足条件,执行a++,a 变成1,b 仍然是2。
5. 有以下程序:
程序运行后的输出结果是( )。
A.0
B. 变量无定义,输出不确定
C.-1
D.1
【答案】A
【解析】NULL 是包含在头文件stdiah 中的宏定义,其数值由编译器确定,一般情况下是0。
6. 有以下程序
程序执行后的输出结果是( )。
A.lbc ,a23
第 3 页,共 42 页
B.abc ,123
C.123,abc
D.321,cba
【答案】A
si 应该指向的是数组的首地址,【解析】字符串是一个特殊的数组,按照数组的规则,即“abc ”
的第一个字符的地址。s2指向的是“123”的第一个字符的地址。调用swap 函数之后交换的是两个字符串的第一个字符W 和T 的内容,因此打印输出为A 。
7. 为了避免在嵌套的if-else 语句中产生二义性,C 语言规定与else 子句配对是( )。
A. 与其在同一行上的if 子句
B. 在其之后最近的不带else 的if 子句
C. 与其缩排位置相同的if 子句
D. 在其之前最近的不带else 的同层if 子句
【答案】D
【解析】if 总是与它上面最近的、未配对的else 配对。
8. C 语言中的标识符分为关键字、预定义标识符和用户标识符,以下叙述中正确的是 ( )。
A. 预定义标识符(如库函数中的函数名)可用作用户标识符,但失去原有含义
B. 用户标识符可以由字母和数字任意顺序组成
C. 在标识符中大写字母和小写字母被认为是相同的字符
D. 关键字可用作用户标识符,但失去原有含义
【答案】A
【解析】C 语言允许把预定义标识符重新定义另作他用,但这将失去预先定义的原意。B 项,标识符的第一个字符必须为字母或下划线;C 项,标识符中,大写字母和小写字母被认为是两个不同的字符;D 项,关键字不能另作他用。
9. 有以下程序
程序运行后的输出结果是( )。
A.0
B. 随机值
C.15
D.16
【答案】B
【解析】sum 作为局部变量,没有显式初始化,sum 值代表原来内存中存储的对象,不可预
第 4 页,共 42 页
相关内容
相关标签