一、选择题
1. 若变量已正确定义。在
A.
B.
C.
D. 答:A
中,以下不可替代W 的是( )。
【解析】在C 语言中,并没有运算符,判断不相等时,使用
2. 有以下程序:
程序的运行结果是( )。 A.grameamee B.g a e C.programe D. 无输出字符 答:A
其他三个选项都可以。
【解析】定义两个指针变量p1、p2, 分别指向数组Sl 、S2首地址,在for 循环中,比较两个指针对应地址 的元素是否相等,如果相等,则输出当前指针指向地址的字符串,故答案为A 选项。
3. 设有以下说明和语句:( )。
A. B. C. D. 答:A
【解析】
则与表达式等价的选项是
是指向有4个元素的数组指针,a 为二位数组首地址,赋值给数组指针p 。
题目中表达式。是对数组a 第1行第3列元素的引用。是数组第1行第3列元素,
是
A
项正确。与题目中等价,B 项错误。是对数组第3行第1列元素的引用,
是数组第3行第1列元素,D 项错误。
对数组第1行第3列元素的引用,C 项错误。
4. 设有以下函数:
答:A
【解析】函数指针的一般定义形式为数据类型(*指针变量名)( )。D 项中
,
带有两个数据类型,不符合函数指针定义。
5. 以下选项中,合法的一组C 语言数值常量是( )。
答:A
【解析】A 项,C 语言中小数必须要有小数点,但是小数部分可以省略,12. 是合法的常量;C 语言中十六进制数以
或
开头,
表示
是指十六进制数
在C 语言中,
或
后跟一
个整数来表示以10为底的幂数,面的数字只能在0~7之间。C 项,
B 项,028表示的是八进制,以0开头,0后
e 后面只能跟整数,Oabc 表示八进制,0后面的数字只能
在0~7之间;D 项,10, 000中不能有逗号。
6. 以下叙述中错误的是( )。
A.C 语言编写的函数源程序,其文件名后缀可以是.C B.C 语言编写的函数都可以作为一个独立的源程序文件 C.C 语言编写的每个函数都可以进行独立的编译并执行 D. —个C 语言程序只能有一个主函数 答:C
【解析】C 源程序经过C 编译程序编译之后生成一个后缀为.OBJ 的二进制文件(称为目标文,然后由称为“连接程序”(Link )的软件,把此.OBJ 文件与C 语言提供的各种库函数连接件)
起来生成一个后缀为.EXE 的可执行文件。只有含有main 函数的经过编译链接才能执行。
7. 以下叙述中正确的是( )。
A.break 语句只能用于switch 语句体中
B.continue 语句的作用是使程序的执行流程跳出包含它的所有循环 C. 在循环体内使用break 语句和continue 语句的作用相同 D.break 语句只能用在循环体内和switch 语句体内 答:D
8. 在C 语言中,只有在使用时才占用内存单元的变量,其存储类型是( )。
A.auto 和 register B.extern 和 register C.auto 和 static D.static 和 register 答:A
【解析】C 语言中,动态存储区域中存放的变量在使用时才分配内存空间,函数调用时返回auto 变量的储存处单元是分配在内存的动态的地址和自动类 局部变量等存放在动态存储区域中。
存储区中,每当进入函数体时自 动分配存储单元。register 变量也是自动类变量, 。static 说明的变extern 量为静态变量,静态变量在内存的静态存储中 占据着永久的存储单元,直至程序运行结束。说明的变量为外部变量,属于全局变量,全局变量在整个程 序运行期间都占用内存空间。
9. 有以下程序:
程序运行后的输出结果是( )。 A.3 B.2 C.1 D.0 答:D
【解析】C 语言的语法规定:else 子句总是与前面最近的不带else 的if 相结合,与书写格式无关。可以写成下面的形式: