一、选择题
1. 有以下程序:
程序运行后的输出结果是( )。
A.6
B.7
C.11
D.12
答:A
【解析
】是字符数组,初始化时未赋初始值的自动赋
值
即
函数求字符串长度,统计长度时以结束,即统计到长度为6时结束,strlen 函数返回值为6。
2. 有以下程序:
程序运行后的结果是。
A.0
B.1
C.2
D.3
答:A
【解析】运算符“/”
3. 以下选项中叙述正确的是( )
A.C 程序中的语句要经过编译才能转换成二进制机器指令
B. 算法需要包含所有三种基本结构
C. 有些算法不能用三种基本结构来表达
第 2 页,共 33 页 的优先级高
于
D. 简单算法的操作步骤不能超过20步
答:A
【解析】编译就是把高级语言变成计算机可以识别的二进制语言,不经过编译的源程序是不能运行的,A 选项正确。算法不一定要包含所有三种基本结构,也可以只包含一种或两种,B 选项错误。结构化程序主要由3种 基本控制结构组成,循环结构、选择结构、顺序结构,它们组成的算法结构可以解决任何复杂的问题,C 项错误。算法的复杂程序不是由操作步骤多少决定的,而是按时间复杂度与空间复杂度来衡量,D 选项错误。
4 设有定义inta=0, b=l;, 以下表达式中,,
会产生“短路”现象致使变量b 的值不变的是( )。.:
A.
B.
C.
D.
答:D
【解析】++放在变量前面时,表示将变量+1, 再参与其他操作,D 项,
值是0直接判定与运算结果为0, 忽视b++的值,因此b 值不发生改变。
5. C 语言程序中,运算对象必须是整型数的运算符是( )。
答:C
【解析】模运算中不能出现浮点数,运算对象只能是整数。
6. 有如下程序段:
则for 循环体执行的次数是( )。
A.0次
B.1次
C.2次
D. 无限次
答:A
【解析】for (k=2; k==0; )表示给k 赋值2, 如果k 等于0, 则选入循环,但是k 不满足条件,因此循环体不执行。
7. 以下程序中给数组所有元素输入数据,请从选项中选择正确的答案填入下划线处。
第 3 页,共 33 页 时,由于a
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
,D 选项错误。故选A 。 选项数组元素引用错误,数组元素引用为不是( )
8. 以下选项中,合法的C 语言常量是( )。
A.1.234
D.2Kb
答:A
【解析】整型常量:用不带小数点的数字表示。实型常量:用带小数点的数字表示。字符型常量:用带有单引号的一个字符表示。字符串常量:用一对双引号括起来的一串字符。1.234为实型常量,A 选项正确。不合法,若改成则为字符串常量,B 选项错误。不合法,不是任何类型常量,C 选项错误。2Kb 不合法,若加上双引号“2Kb ”为字符串常量,故D 选项错误。
9. 关于C 语言的变量名,以下叙述正确的是( )。
A. 变量名不可以与关键字同名
B. 变量名不可以与预定义标识符同名
C. 变量名必须以字母开头
D. 变量名是没有长度限制的
答:A
【解析】合法的标识符由字母(大、小写均可)、数字和下划线组成,并且必须以字母或下划线开头。关键字是指被C 语言保留的,不能用作其他用途的标识符,它们在程序中都代表着固定的含义,用户不可重新定义, A 项正确。预定义标识符是系统已经有过定义的标识符,用户可以
B 项错误。 变量名除了以字母开头以外,重新定义,所以可以作为变量名,还可以以下划线开头,
C 项错误。变量名没有长度限制,但不可超过编译器可以辨识的范围,D 项错误。
第 4 页,共 33 页