C语言指针章节选择题(新).docVIP

  • 38
  • 0
  • 约6.99千字
  • 约 9页
  • 2017-08-26 发布于河南
  • 举报
1. 若已定义: int a[]={0,1,2,3,4,5,6,7,8,9},*p=a,i; 其中0≤i≤9,则对a数组元素不正确的引用是 A) a[p-a] B) *(a[i]) C) p[i] D) a[10] D 2. 已知指针p的指向如下图所示,则执行语句*--p;后*p的值是 a[0] a[1] a[2] a[3] a[4] ┌──┬──┬──┬──┬──┐ │ 10 | 20 | 30 │ 40 | 50 | └──┴──┴──┴──┴──┘ p↑ A) 30 B) 20 C) 19 D) 29 B 3. 下面程序运行时,如果从键盘上输入3,5回车,程序输出的 结果是________。 main( ) { int a,b,*pa,*pb; pa=a; pb=b; scanf(%d,%d,pa,pb); *pa=a+b; *pb=a+b; printf(a=%d,b=%d\n,a,b); } A) a=13,b=13 B) a=8,b=8 C) a=8,b=13 D) 出错 C 4. 下面程序段的输出结果是________。 main( ) { char string1[20],string2[20]={ABCDEF}; strcpy(string1,string2); printf(%s\n,string1+3); } A) EF B) DEF C) CDEF D) ABCDEF B 5. 下列程序执行后的输出结果是________。 main() { int a[3][3],i,*pmul; pmul=a[0][0]; for(i=0;i9;i++) pmul[i]=i+1; printf(%d\n,a[1][2]); } A) 3 B) 6 C) 9 D) 随机数 B 6. 有如下程序段 int *p,a=10,b=1; p=a; a=*p+b; 执行该程序段后,a的值为________。 A) 12 B) 11 C) 10 D) 编译出错 B 8. 以下函数返回a所指数组中最小值所在的下标值 fun( int *a,int n) { int i,j=0,p; p=j; for(i=j;in;i++) if( *(a+i)*(a+p) )_______________; return (p); } 在下划线处应填入的是________。 A) i=p; B) a[p]=a[i]; C) p=j; D) p=i; D 8. 有如下说明 int a[10]=[1,2,3,4,5,6,7,8,9,10},*p=a; 则数值为9的表达式是________。 A) *(p+9) B) *(p+8) C) *p+=9 D) p+8 B 9. 有如下程序 main() { char s[]=ABCD,*p; for(p=s+1;ps+4;p++) printf(%s\n,p); } 该程序的输出结果是________。 A) ABCD B) A BCD B CD C D D C) B D) BCD C CD D D D 10. 下面程序的输出结果是 main() { int a[]={1,2,3,4,5,6,7,8,9,0},*p; p=a; printf(%d\n,*p+9); } A) 0 B) 1 C) 10 D) 9 C 11. 若有说明语句int i,j =7,*p=i;,则与i=j等价的语句是 A) i=*p; B) *p=*j; C) i=j; D) i=**p ; B 12. 若有说明语句int a[10],*p=a;,对数组元素的正确引用是 A) a[p] B) p[a

文档评论(0)

1亿VIP精品文档

相关文档