国家二级C语言(数组)机试模拟试卷4 (题后含答案及解析)
题型有:1. 选择题
选择题
1. 若有定义:int x[10],*pt=x;,则对x数组元素的正确引用是(    )。
A.pt+3
B.*&x[10]
C.*(pt+10)
D.*(x+3)
正确答案:D
解析:没有A选项的引用形式。*与&放在一起作用抵消,但x[10]下标10超出了数组下标范围,所以B选项错误。最大只能引用到x[9],而*(pt+i)表示引用指针pt所指元素后的第i个元素,
所以C选项错误,最大只能为*(pt+9)。D选项正确。 知识模块:数组
2. 有以下程序:#include<stdio.h>main(  ){int i,s=0,t[]={1,2,3,4,5,6,7,8,9};for(i=0;i<9;i+=2)s+=*(t+i);printf(%d\n,s);}程序的运行结果是(    )。
A.20
B.25
C.45
D.36
正确答案:B
解析:统计1~9这9个数中的奇数和,此题考查指向数组的指针。C语言规定数组名代表数组的首地址,也就是第一个元素的地址,因此*(t+i)代表数组的第i+1个元素。程序的运行结果是1+3+5+7+9=25。 知识模块:数组
数组全部赋值为1
3. 有以下程序:#include<stdio.h>main(  ){int s[12]={1,2,3,4,4,3,2,1,1,1,2,3},c[5]={0},i;for(i=0;i<12;i++)e[s[i]]++;for(i=1;i<5;i++)printf(%d,c[i]);printf(\n);}程序的运行结果是(    )。
A.2 3 4 4
B.4 3 3 2
C.1 2 3 4
D.1 1 2 3
正确答案:B
解析:在for(i=0;i<12;i++)c[s[i]]++中,数组元素s[i]的值作为数组c的下标,当退出循环时,数组c的4个元素的值分别为4、3、3、2,因此B选项正确。 知识模块:数组

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。