资源描述:
《C语言指针选择题.pdf》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、1.若已定义:inta[]={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]D2.已知指针p的指向如下图所示,则执行语句*--p;后*p的值是a[0]a[1]a[2]a[3]a[4]┌──┬──┬──┬──┬──┐│10
2、20
3、30│40
4、50
5、└──┴──┴──┴──┴──┘p↑A)30B)20C)19D)29B3.下面程序运行时,如果从键盘上输入3,5<回车>,程序输出的结果是________。main(){in
6、ta,b,*pa,*pb;pa=&a;pb=&b;scanf("%d,%d",pa,pb);*pa=a+b;*pb=a+b;printf("a=%d,b=%d",a,b);}A)a=13,b=13B)a=8,b=8C)a=8,b=13D)出错C4.下面程序段的输出结果是________。main(){charstring1[20],string2[20]={"ABCDEF"};strcpy(string1,string2);printf("%s",string1+3);}A)EFB)DEFC)CDEFD)ABCDEFB5.
7、下列程序执行后的输出结果是________。main(){inta[3][3],i,*pmul;pmul=&a[0][0];for(i=0;i<9;i++)pmul[i]=i+1;printf("%d",a[1][2]);}A)3B)6C)9D)随机数B6.有如下程序段int*p,a=10,b=1;p=&a;a=*p+b;执行该程序段后,a的值为________。A)12B)11C)10D)编译出错B7.对于基类型相同的两个指针变量之间,不能进行的运算是A)
8、un(int*a,intn){inti,j=0,p;p=j;for(i=j;i9、,10},*p=a;则数值为9的表达式是________。A)*(p+9)B)*(p+8)C)*p+=9D)p+8B11.有如下程序main(){chars[]="ABCD",*p;for(p=s+1;p
10、地址C)5D)3C13.下面程序的输出结果是main(){inta[]={1,2,3,4,5,6,7,8,9,0},*p;p=a;printf("%d",*p+9);}A)0B)1C)10D)9C14.当调用函数时,实参是一个数组名,则向函数传送的是________。A)数组的长度B)数组的首地址C)数组每一个元素的地址D)数组每个元素中的值B15.设有定义语句"inta=3,b,*p=&a;",则下列语句中使b不为3的语句是A)b=*&a;B)b=*p;C)b=a;D)b=*a;D16.设指针x指向的整型变量值为25,则pr
11、intf("%d",++*x);的输出是:A)23B)24C)25D)26D17.若有说明语句"inti,j=7,*p=&i;",则与i=j等价的语句是A)i=*p;B)*p=*&j;C)i=&j;D)i=**p;B18.若有说明语句"inta[10],*p=a;",对数组元素的正确引用是A)a[p]B)p[a]C)*(p+2)D)p+2C19.下列各语句行中,能正确进行赋字符串操作的语句是A)chars[5]={"ABCDE"};B)chars[5]={'A','B','C','D','E'};C)char*s;s="ABC
12、DE";D)char*s;scanf("%s",&s);C20.若有以下定义语句,则不能表示a数组元素的表达式是inta[10]={1,2,3,4,5,6,7,8,9,10},*p=a;A)*pB)a[10]C)*aD)a[p-a]B21.若有以下