一、选择题
1. 以下是if 语句的基本形式:
if (表达式)语句
其中“表达式”( )。 A. 必须是逻辑表达式 B. 必须是关系表达式
C. 必须是逻辑表达式或关系表达式 D. 可以是任意合法的表达式 答:D
【解析】表达式一般是关系表达式或逻辑表达式,用于描述选择结构的条件,但也可以是其他类型表达式,只要其合法,在其值非零时都视为真,所以其他表达式也可以作为if 语句的判断条件。
2. 以下叙述中正确的是( )。
A.
语句B.
语句C.
语句D. 语句符
答:A
【解析】A 项正确,表示定义了长度为8的int 型数组,它里面的每个元素都是0。当所赋初值少于所定义数组的元素个数时,将自动给后面的元素补以初值0。B 项错误,C 语言规定可以通过赋初值来定义数组的大小,这时数组说明符的一对方括号中可以不指定数组的大小;C 项错误,a 是char 类型的数组,里面的元素应该是字符而非字符串,应该用单引号括起来;D 项错误,数组变量一旦定义,其地址值不可改变,不能给数组名重新赋值。
3. 有以下程序:
第 2 页,共 35 页
是合法的
是不合法的,遗漏了数组的大小
是合法的,定义了一个包含两个字符的数组
是合法的,因为数组有三个字符空间的容量,可以保存两个字
程序运行的结果是( )。
答:C
【解析】题目在定义结构体st 的同时便定义了结构体数组data 。可
知
结构体指针P 指向数组的首地址,指向
向
所以输出
即输出
和
4. 执行以下程序段后,w 的值为( )。
A.-1 B.NULL C.1 D.0 答:C 【解析】因为
都是非零整数,因此
又因为
知
也为
真,因此的值为1。
5. 若变量均己正确定义并赋值,以下合法的c 语言赋值语句是( )。
A.x=y==5; B.x=n%2.5; C.x+n=i; D.x=5=4+l;
答:A
【解析】A 项正确,y==5返回0或者1,然后赋值给x 。B 项错误,浮点数不能参与模运算;C 项错误,x+n是右值,不能给它赋值;D 项错误,5是常量,不能被赋值。
6. 有如下定义:
以下对内嵌结构体成员的引用形式错误的是( )。
第 3 页,共 35 页
则指
答:A
【解析】使用结构体指针对结构体成员进行访问时,形式为结构指针名->结构成员名,或者(*结构指针名). 结构成员名,题目中ps 为结构体指针,A 项错误。
7. 有以下程序:
程序运行后的输出结果是( )。
答:D
,在【解析】D 项正确,main 函数中,首先为结构变量a ,b 初始化,再调用函数f ( )f ( )函数中,使用结构体变量a 对指针b 指向的结构体进行赋值,使得指针b 指向的结构体成员依次赋值为结构体a 的成员,然后依次输出指针b 指向的结构体成员的值;由于f 函数形参b 为指针,所以指针b 指向的值被修改为a 的同时,main 函数中的实参b 的值也被修改成a 。
8. 有以下程序:
以下程序:
程序运行后的输出结果是( )。 A.7, 4 B.4, 10 C.8, 8
第 4 页,共 35 页