资源描述:
《C语言指针课时选择题(新).doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
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(){inta,b,*pa,*pb
6、;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.下列程序执行后的输出结果是________。ma
7、in(){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)编译出错B8.以下函数返回a所指数组中最小值所在的下标值fun(int*a,intn){inti,j=0,p;p=j;for(i=j;i8、__;return(p);}在下划线处应填入的是________。A)i=p;B)a[p]=a[i];C)p=j;D)p=i;D8.有如下说明inta[10]=[1,2,3,4,5,6,7,8,9,10},*p=a;则数值为9的表达式是________。A)*(p+9)B)*(p+8)C)*p+=9D)p+8B9.有如下程序main(){chars[]="ABCD",*p;for(p=s+1;p
9、面程序的输出结果是main(){inta[]={1,2,3,4,5,6,7,8,9,0},*p;p=a;printf("%d",*p+9);}A)0B)1C)10D)9C11.若有说明语句"inti,j=7,*p=&i;",则与i=j等价的语句是A)i=*p;B)*p=*&j;C)i=&j;D)i=**p;B12.若有说明语句"inta[10],*p=a;",对数组元素的正确引用是A)a[p]B)p[a]C)*(p+2)D)p+2C13.下列各语句行中,能正确进行赋字符串操作的语句是A)chars[5]={"ABCDE"};B)chars[5]={'
10、A','B','C','D','E'};C)char*s;s="ABCDE";D)char*s;scanf("%s",&s);C14.若有以下定义语句,则不能表示a数组元素的表达式是inta[10]={1,2,3,4,5,6,7,8,9,10},*p=a;A)*pB)a[10]C)*aD)a[p-a]B15.执行语句"chara[10]={"abcd"},*p=a;"后,*(p+4)的值是A)"abcd"B)'d'C)' 'D)不能确定C16.设有定义语句"int(*ptr)[10];",其中的ptr是A)10个指向整型变量的指针B)指向10个整型变量
11、的函数指针C)一个指向具有10个元素的一维数组的指针D)具有10个指针元素的一维数组C17.若有以下定义,则数组为4的表达式是inta[3][4]={{0,1},{2,4},{5,8}},(*p)[4]=a;A)*a[1]+1B)p++,*(p+1)C)a[2][2]D)p[1][1]D18.若有如下定义和语句,则输出结果是char*a="ABCD";printf("%s",a);A)AB)ABC)ABCD)ABCDD19.下列程序执行后输出的结果是main(){char*a[6]={"AB","CD","EF","GH","IJ","KL"};inti
12、;for(i=0;i<4;i++)printf("%s",a[i]);print