一、选择题
1. 设有函数定义:( )。
A. B. C. D. 答:A
则以下对函数sub 的调用语句中,正确的是
【解析】函数的参数有两个,第一个是整型,第二个是字符类型,在调用函数时,实参必须一个是整型,一个是字符型相容的类型(整型)。A 项中97为字符传入函数,A 项正确。B 项
的
码,可以作为字符
不是合法字符,字符单引号里面只能有一个字符,B 项错误。
函数sub 返回类型为空,即不返回任何值,故C 项中将函数返回值赋给n 是不正确的调用方法,C 项错误。D 项为字符串,也不是合法的字符,D 项错误。
2. 若想给已定义为int 型的变量a 、b 、c 、d 赋整数1,以下选项中错误的语句是( )。
A.d=c,c=b,b=a,a=l; B.d=c=b=a=l;
C.d=(b=c=(a=l); )D.d=l,c=d>b=c,a=b; 答:A
【解析】赋值是将一个常量的值赋给一个变量,A 项中,变量c 初始值未定义,相当于一个未知数给变量d 赋值,不满足赋值为1的条件。
3. 有以下程序:
程序的运行结果是( )。
A.15, 2 B.15, 15 C.2, 15 D.8, 8 答:A
【解析】本题求数组的最大值和最小值,首先把数组x 首地址的值赋给指针p , 故*p初始值为8, 而p 是地址值,P+1相当于数组中下一元素的地址,在for 循环,是求数组x 对应的最大值和最小值,fl 为最大值,f2为最小值。因此输出为15, 2。
4. 有以下程序:
程序运行后的输出结果是( )。
答:A
【解析】main ( )函数中,首先定义两个结构体STU 类型的变量a ,b , 并对a 完成初始化,然后将a 赋值给b ,使得结构体a ,b 的值都是的功能是将形参结构体指针c 指向的结构体赋值为结构体就是b , 所以实参b 的值被修改为
5. 有以下程序(其中k 的初值为八进制数):
再调用函数函数
由于形参是指针,C 指向的
而a 的值不变,A 项正确。
程序运行后的输出结果是( )。 A.12 B.11 C.10 D.9 答:D
【解析】k 的初值是八进制数011,转换为十进制数就是9,在输出时自增运算符“++”是作为后缀出现的,因此是先输出9,然后k 的值再自增1。
6. 有以下程序:
程序运行的结果是( )。 A.1, 2, 3, 4 B.1, 0, 7, 0 C.1, 4, 5, 9 D.3, 4, 8, 0 答:B
【解析】由二维数组x 的定义知,数组x 为4行4列。fun 函数中for 循环的作用是将二维数组前4行的对角线元素赋
给
7. 有以下程序:
程序运行后的输出结果是( )。 A.1
在主函数中定义二维数组
为
所以可以看出对角线元素为1、0、7、0。