11有以下程序
程序运行后的输出结果是
A.8,17B.7,16C.8,8D.7,17
参考答案:A
参考解析:本题考查静态局部变量,本题中先执行fun(4,1)得到返回值为8,此时静态局部变量m为8,i为3,那么再次执行fun(4,1)得到的值为17,所以选项A正确。
12有以下程序
程序运行后的输出结果是
A.4B.8C.9D.6
参考答案:B
参考解析:本题考查宏定义,宏定义只是做个简单的替换,执行NUM=(N+l+1)*N+1/2=8,选项B正确。
13有以下程序
程序运行后的输出结果是
A.1B.6C.7D.0
参考答案:C
参考解析:本题考查字符串作为函数参数以及while语句,本题中传人字符串0ABCDEF,然后执行fun后,就得到了该字符串中字符的个数,不包括结尾符,该字符串有7个字符,所以答案为C。
14设有定义:int a[10]={0,1,2,3,4,5,6,7,8,91,}*P=a,i;,若0≤i≤9,则对a数组元素的引用错误的是
A.a[10]B.*&a[i])C.P[i]D.a[P-a]
参考答案:A
参考解析:长度为n的数组其各个元素的下标应该是从0到n-1,因此,长度为10的数组a,第10个元素为a[9],而不是a[10],答案为A选项。
15若有以下程序
则程序的输出结果是
A.6.12,12B.6,4,3C.6,4,6D.9,4,9
参考答案:C
参考解析:首先在主函数中给整型变量k赋值为3,调用sp函数,将变量k的地址作为实参传递给形参指针变量a;在sp函数中,*a=*a*2;即结果为6由于指针变量a指的地址k,所以k值此时也变成6,通过prinff()函数输出。整型变量b的地址赋给指针变量a,再执行*a=*a*2;。即结果为4,通过pfinff()函数输出。返回主函数,输出k的值6。因此C选项正确。
16有以下程序
程序运行后的输出结果是
A.abcdeB.ABCDEC.edcbaD.EDCBA
参考答案:B
参考解析:本题考查数组名作为函数参数,执行f函数时,传进去的a指针被重新指向了b,所以原本a数组的地址内容不变,所以输出结果为ABCDE,答案为8选项。
17有以下程序
程序运行后的输出结果是
A.24B.23C.17D.22
参考答案:C
参考解析:本题主要考查函数作为形参时的使用,由x=8ss(funa,9,3);可得到x=9+3=12,而后直接传人函数funb.x=x+8-3=12+5=17。因此C选项正确。
18有以下程序
A.9284B.9824C.6982D.6385
参考答案:D
参考解析:本题中首先是将二维字符数组c赋值指针数组P,然后遍历P找到两个字符串中的偶数位置的字符并组成一个数值输出,根据代码执行即可得到结果为6385。
19设有定义语句:
则以下叙述正确的是
A.aa[0]存放了字符串“abcd“的首地址
B.aa数组的两个元素只能存放含有4个字符的一维数组的首地址
C.aa数组的值分别是字符串”abcd”和”ABCD”
D.fla是指针变量,它指向含有两个元素的字符型数组
参考答案:A
参考解析:
本题中定义了一个指针数组,数组中存放的是字符指针,aa数组的两个元素分别包含了5个字符,所以可以存放5个字符的一维数组的首地址,所以B选项错误。aa数组的值是指向那两个字符串的字符指针,而不是那两个字符串,所以C选项错误。Eta本身是一个指向两个字符指针的指针,所以D选项错误。
20有如下定义
若文件已正确打开,且数组x的10个元素均已赋值,以下将数组元素写到文件中的语句错误的是
参考答案:A
参考解析:fwrite()函数用法是fwrite(void$buffer,intsize,int n,FILE*fp),其中buffer为要输出的数据的首地址,A选项中,因为n=1,即每次写入1个结构体数据,x是数组的首地址,因此,每次写入的数据都是数组的首个结构体元素,没有将整个数组写入文件中去,答案为A选项。
相关推荐:
北京 | 天津 | 上海 | 江苏 | 山东 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
广东 | 河北 | 湖南 | 广西 | 河南 |
海南 | 湖北 | 四川 | 重庆 | 云南 |
贵州 | 西藏 | 新疆 | 陕西 | 山西 |
宁夏 | 甘肃 | 青海 | 辽宁 | 吉林 |
黑龙江 | 内蒙古 |