一、选择题
1. 有以下程序
程序运行后的输出结果是( )。
A.-12
B.9
C.0
D.3
答:A
【解析】C 语言中,表达式从右向左计算。
2. 设有以下程序段:
要引用结构体变量Std 中的color 成员,下列写法中错误的是( )。
答:C
【解析】在使用结构体变量引用结构体中的成员变量时,可以使用
指针引用结构体中的成员变量是,可以使用来指向结构体中的成员。
3. 以下关于指针的叙述,错误的是( )。
A. 两个基类型相同的指针变量不能指向同一个对象
B. 可以通过对指针变量自增、自减来移动指针
C. 只有两个类型相同的指针才能进行减运算
可以写成而
等价于等价于a=a+a=(-6)+(-6)=-12。 来引用,使用结构体
D. —个指针变量可以通过不同的方式获得一个确定的地址值
答:A
【解析】只要两个指针变量基类型相同,可以指向同一个对象,A 项正确。
4. 有以下程序:
程序的运行结果是( )。
D.ab
答:C
【解析】函数fun 中有两个while 循环,第一个while 循环语句查找第一个非字符;第二个while 循环语句将a 所指向的字符赋值给b ,这个循环的作用是将a 中第一个非的后的字符都复制到b 中。整个函数fun 的功能时将a 字符串中讲第一个非的字符开始的字符赋值给b 。
5. 有以下程序
程序的运行结果是( )。
A.11 7
B.12 12
C.11 11
D.12 7
答:A
【解析】f (2)展开后为,2*5+1,值为11,f (1+1)展开后为,1+1*5+1值为7。
6. 有以下程序
程序运行后的输出结果是( )。
A.a+b=0
B.a+b=30
C.a+b=10
D. 出错
答:A
【解析】注释/*和*/之间计算机不参与编译,所以a 、b 值仍为0。
7. 有以下程序:
程序运行后的输出结果是( )。
答:D
,在【解析】D 项正确,main 函数中,首先为结构变量a ,b 初始化,再调用函数f ( )
f ( )函数中,使用结构体变量a 对指针b 指向的结构体进行赋值,使得指针b 指向的结构体成员依次赋值为结构体a 的成员,然后依次输出指针b 指向的结构体成员的值;由于f 函数形参b 为指针,所以指针b 指向的值被修改为a 的同时,main 函数中的实参b 的值也被修改成a 。