c语言指针练习题

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1、已知folatx[5];则下面表达式中不能表示x[1]地址的是A、x+1B、x++C、&x[0]+1D.&x[1]2、已知inta[]={1,2,3,4,5,6},*p=a;则值为3的表达式是A.p+=2,*(p++)B.p+=2,*++pC.p+=3,*p++D.p+=2,++*p3、已知inta[]={11,12,13,14},y,*p=&a[1];则执行语句y=(*--p)++;之后,变量y的值为A.11B.12C.13D.144、写出下列程序的运行结果main(){intx[]={-1,1,2,3,4,5,6,7,8,9},s,i,*p;s=0;p=&x[0];for(i=1;i10;i+=2)s+=*(p+i);printf(“sum=%d\n”,s);}5、写出下列程序的运行结果main(){char*p=“abcABC123”,*q;q=p;while(*q!=0){printf(“%d”,*q);q++;}printf(“=\n”)q=p;while(*q!=‘\0’){printf(“%c”,*q);q++;}}6、main(){chars1[]=“language”,s2[]=“program”;char*ptr1,*ptr2;ptr1=s1;ptr2=s2;whil(*ptr1!=‘\0’&&*ptr2!=‘\0’){if(*ptr1==*ptr2)putchar(*ptr1);ptr1++;ptr2++;}}7、若有一下定义,则对a数组的元素正确引用的是______inta[5],*p=a;A.*&a[5]B.a+2C.*(p+5)D*(a+2)8、若有一下定义,则对a数组元素地址的正确使用的是_____inta[5],*p=a;A.p+5B*a+1C.&a+1&a[0]9、若有定义:inta[2][3];则对a数组的第i行第j列(假设i,j已正确说明赋值)元素值的正确引用是_______a.*(*(a+1)+1)b.(a+i)[j]c.*(a+i+j)d.*(a+i)+j10、若有定义:inta[2][3];则对a数组的第i行第j列(假设i,j已正确说明赋值)元素地址的正确引用是_______A.*(a[i]+j)B.(a+i)C*(a+i)Da[i]+j11、若有一下定义和语句,则对a数组元素地址的正确使用为______inta[2][3],(*p)[3];p=a;A*(p+2)Bp[2]Cp[1]+1D(p+1)+212、若有一下定义和语句,则对a数组元素的正确使用为______inta[2][3],(*p)[3];p=a;A(p+1)[0]B*(*(p+2)+1)C*(p[1]+1)Dp[1]+213、若有定义:inta[5],则a数组中的首元素的地址可以表示_____A&aBa+1C.aD.&a[1]14、若有定义(*p)[4];则表识符p____A是一个指向整型变量的指针B是一个指针数组名C是一个指针它指向一个含有四个整型元素的一维数组D定义不合法15、若有以下定义和赋值语句,则对s数组的第i行第j列(假设i,j已正确说明赋值)元素地址合法引用为_______ints[2][3]={0},(*p)[3];p=s;A*(*(p+i)+j)B*(p[i]+j)C(p+i)+jD(*(p+i))[j]16、若有以下定义和赋值语句,则对b数组的第i行第j列(假设i,j已正确说明赋值)元素非法引用为_______intb[2][3]={0},(*p)[3];p=b;A*(*(p+i)+j)B*(p[i]+j)C*(p+i)+jD(*(p+i))[j]17、以下int*p[5];等价的定义语句是_____Aintq[5]Bint*qCint*(q[5])Dint(*q)[5];

1 / 5
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功