一、选择题
1. 有以下函数:
程序运行后的输出结果是( )。
A.zhang
B.zhao
C.wang
D.19
【答案】B
x+2代表了指向第三个元素的指针,【解析】结构体数组存储了三个人的信息,所以输出name
为Zhao 。
2. 有以下程序:
程序的输出结果是( )。
A.22
B.18
C.20
D.16
【答案】D
【解析】语
句
退出循环。
第 2 页,共 43 页 相当
于程序执行过程为
:
3. 有以下程序:
程序运行的结果是( )。
A.1
B.2
C.3
D.4
【答案】B
【解析】本题主要考查函数的递归调用。fun 函数的功能是:当b 的值为零时,返回此时a 的值;否则,返 回即将a 和b 的值分别减1后返回fun 函数的本质是返回a-b 的值,因此最终的结果为2。
4. 若有定义:
则与上述定义完全等价的说明语句是( )。
A.int*a[20][10];
B.int*a[20];
C.int*a[10];
D.int*a[10][20];
【答案】A
【解析】新定义的类型T 为大小为10的整型数组,定义T 型指针数组*a[20],等价于定义了一个指向整型长度为10的数组的指针数组,这个指针数组大小为20,即为整型指针二维数组,行20列10,A 项正确。
5. 设有定义:
则以下赋值语句中错误的是( )。
A.data2=datal;
B.data2=(2,6);
C.data2.real=datal.real;
D.data2.real=datal.unreal;
【答案】B
【解析】B 项错误,对结构体进行初始化时,应该用花括号括起来的一组值,而不是用小括号。
第 3 页,共 43 页
6. 以下选项中,合法的是( )。
A.
B.
C.
D.
【答案】A
【解析】A 中是在赋初值时直接赋字符串常量。B 项错误,str4是字符变量不能赋值为字符串常量;CD 两项错误,字符串常量给出的是地址值,而数组名name 是一个地址常量,不能被重新赋值。
7. 有以下程序
程序的运行结果是( )
A.CDEF
B.ABEF
C.ABCD
D.CDAB
【答案】A
【解析】调用funl 函数将全局变量a 和b 赋值为‘C’和‘D’,然后输出全局变量a 和b ,最后调用fun2 输出局部变量a 和b 的值‘E’和‘F’。
8. 有如下程序:
第 4 页,共 43 页