一、选择题
1. 若有以下程序段
不能正确引用字符串的选项是( )。
A. B. C. D.
答:D
【解析】strp 是char *类型、长度为4的数组,4个指针分别指向字符串数组str 中的4个字符串。D 项错误,step 是char*的数组,不能引用字符串。A 项正确,引用strp 数组中第一个指针指向的内容,gpaa”; B 项正确,str 是字符串数组,引用数组中的”aa”; C 项正确,
于访问strp 中第四个指针指向的内容,即 ”d”。
2. 若有定义
执行
语句时,若从键盘输人
876543.0
则a 和b 的值分别是( )。
A.87和6.0
B.876和543.0
C.87和543.0
D.76和543.0
答:A
【解析】scarlf ( )函数的一般形式为:scanf (格式控制,地址表列)。其中,“格式控制”是用双引号括起来的字符串,也称“转换控制字符串”,它包括两种信息:①格式说明,由“%”和格式字符组成;②普通字符,即需要原样输入的字符。“地址表列”是需要接收输入数据的一系列变量的地址。本题中的“格式控制”是“%
所以scanf ( )函数将87赋给a , 6赋给b 。
第 2 页,共 33 页 等价其中%2d 的意思是要输入一个整数,但该整数最宽只占2个字符,而%f 是要输入一个浮点数。而题目要求输入的是876和543.0,
3. 以下结构体类型说明和变量定义中正确的是( )。
答:A
A 项,B 项,【解析】用typedef 定义结构体类型名REC 后,可以用REC 定义变量。“structREC ;”
后面不应加分号;C 项,没有这样的书写形式;D 项,REC 定义的是一个变量,不是结构体类型,因此不能用来定义结构体变量。
4. 下面是有关C 语言字符数组的描述,其中错误的是( )。
A. 不可以用赋值语句给字符数组名赋字符串
B. 可以用输入语句把字符串整体输入给字符数组
C. 字符数组中的内容不一定是字符串
D. 字符数组只能存放字符串
答:D
【解析】字符数组可以用来存放单个的字符或者字符串。
5 若有定义语句,
则错误引用x 数组元素的是( )。.
A. 1
B.
C.
D.
答:B
【解析】对一维数组元素可以采用多种方式。直接引用,数组名[下标],数组的大小为n 时,
B 项错误,下标的取值范围为0〜(n_l)。数组x 的下标为0〜4, A 项,溢出。通过指针访问C
D 项,通过数组名访问 项,通过指针访问
6. 按照C 语言规定的用户标识符命名规则,不能出现在标识符中的是( )。
A. 大写字母
B. 连接符
C. 数字字符
D. 下划线
第 3 页,共 33 页
答:B
【解析】C 语言中标识符只能由下划线、字母和数字组成,且不能以数字开头。
7. 有以下程序:
程序运行后从第一列开始输入以下数据:
2473
程序的输出结果是( )。
A.668977
B.4444
C.6677877
D.68766
答:A
【解析】本题执行过程为:输入
句,跳出分支结构;输入
入
7,7,执行break
8. 有如下程序:
程序运行后的输出结果是( )。
A.12
第 4 页,共 33 页 首先匹配caseO , 依次输出6, 6, 后执行break 语匹配case2,输出8,执行break 语句,跳出分支结构;输
匹配default , 输出9,执行break 语句,跳出分支结构;输入匹配easel ,依次输出语句,跳出分支结构。输入回车,结束循环。