一、选择题
1. 以下不合法的数值常量是( )。
B.lei C.011
D.Oxabcd 答:A
【解析】E 前E 后有数字,E 后数字为整数,A 项E 后面为小数,错误。
2. 设有以下程序段:
则变量y 的取值范围是( )。
答:B
【解析】本题考点为
求余符号。rand ( )产生随机整数,任何整数对30求余得到
或者说
故B 选项正确。
的整数范围为0〜29, 则y 的取值范围为
3. 表达式的值是( )。
A.9 B.-9 C.18 D.0 答:D
【解析
J
计算顺序为
首先
即
最后,
即
4 在源程序的开始处加上.
scanf 等函数
,以下叙述正确的是 进行文件引用的原因( )。
A.stdio. h文件中包含标准输入输出函数的函数说明,通过引用此文件以便能正确使用prinff 、B. 将stdio. h中标准输入输出函数链接到编译生成的可执行文件中,以便能正确运行 C. 将stdio. h中标准输入输出函数的源程序插入到引用处,以便进行编译链接 D. 将stdio. h中标准输入输出函数的二进制代码插入到引用处,以便进行编译链接 答:A
【解析】文件中包含标准输入输出函数的函数说明,预处理指令是
指程序可以在该文件中找到printf ,scanf 等函数,因此答案为A 选项。
5. 关于C 语言的变量名,以下叙述正确的是( )。
A. 变量名不可以与关键字同名 B. 变量名不可以与预定义标识符同名 C. 变量名必须以字母开头 D. 变量名是没有长度限制的 答:A
【解析】合法的标识符由字母(大、小写均可)、数字和下划线组成,并且必须以字母或下划线开头。关键字是指被C 语言保留的,不能用作其他用途的标识符,它们在程序中都代表着固定的含义,用户不可重新定义,A 项正确。预定义标识符是系统已经有过定义的标识符,用户可以重新定义,所以可以作为变量名,B 项错误。变量名除了以字母开头以外,还可以以下划线开头,C 项错误。变量名没有长度限制,但不可超过编译器可以辨识的范围,D 项错误。
6. 有以下程序:
程序运行以后的输出结果是( )。 A.7 B.8 C.9 D.10 答:C
【解析】如果函数的定义在调用之后,则必须要在调用之前声明函数。静态局部变量,在整个程序的运行期 间均有效。函数f 将整型变量a 定义为静态变量,所以每次调用函数f 时不再为a 重新赋值。第一次调用f 后,n=4, a=2,第二次调用时,a 已经变成了 2, 所以结果为4+5=9。
7. 有如下程序:
程序运行后的输出结果是( )。 A.10, 6, 4, 6 B.11, 6, 11, 6 C.11, 6, 1, 6 D.10, 1, 1, 7 答:A
【解析】由一维数组初始化的知识可知
,
据类型的变量在内存中所占字节数。strlen 函数统计字 符串长度,遇到
即
统计结束。字符指
函数用来获取类型或数据对象的长度,也即是一个这种数
针变量和字符数组在内存中的存储情形不同,数组指的是按照数组长度分配的若干存储空间,在内存中字符类型变量占1个字节;而指针只是一个存储字符串首地址的存储空间,指 针占4个字节。所以
8. 有以下程序
程序运行后的输出结果是( )。 A.235 B.0235 C.02356 D.2356 答:A
【解析】第一次循环k 为5, 执行为3, 第二次循环k 为3,执行执行
9. 设有定义:
故A 项正确。
和输出n 为2, k 的值
输出n 为3, k 的值为2, 第三次循环k 为2,
,输出n 为5, k 的值为1,循环条件不成立,所以输出235。
以下表达式值不等于12的是( )。