资源描述:
《C语言习题指针.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、C语言(指针一)单元练习五一.选择题1.下列程序的输出结果是______。A#include#includemain(){char*p1,*p2,s[10]="12345";p1="abcde";p2="ABCDE";strcpy(s+2,p1+3);strcat(s,p2+2);printf("%s",s);return;}A.12deCDEB.12abcABC.cdABC45D.abcBDE2.以下程序运行之后的输出结果是______。B#includevoidmai
2、n(){int*p,*p1,*p2,a=3,b=7;p1=&a;p2=&b;if(a
3、p1和*p2的地址。4.有以下程序:B#includevoidmain(){intx[8]={8,7,6,5,0,0},*s;s=x+3;printf("%d",s[2]);}执行后输出结果是______。A.随机值B.0C.5D.65.以下程序的输出结果是______。D#include#includevoidmain(){charb1[8]="abcdefg",b2[8],*pb=b1+3;while(--pb>=b1)strcpy(b2,pb);printf("
4、%d",strlen(b2));}A.8B.3C.1D.76.若有以下说明:Dintw[3][4]={{0,1},{2,4},{5,8}};int(*p)[4]=w;则数值为4的表达式是______。A.*w[1]+1B.p++,*(p+1)C.w[2][2]D.p[1][1]7.以下程序的输出结果是______。A#includeinti;fun(inta,int*b);main(){inti=1,j=2;fun(fun(i,&j),&j);return;}fun(inta,int*b){statici
5、ntm=2;i+=m+a;m=++(*b);printf("%d,%d",i,m);return(m);}A.3,3B.3,3C.3,3D.3,39,46,39,36,46.48.若有语句:inta=4,*p=&a;,下面均代表地址的一组选项是______。CA.a,p,&*aB.*&a,&a,*pC.&a,p,&*pD.*&p,*p,&a9.以下程序的输出结果为______。C#includevoidmain(){chars[]="123",*p;p=s;printf("%c%c%c",*p++,*
6、p++,*p++);}A.123B.231C.321D.31210.以下程序的输出结果是______。A#includevoidmain(){staticchars1[]="programe",s2[]="language";char*p1,*p2;inti;p1=s1;p2=s2;for(i=0;i<8;i++)if(*(p1+i)==*(p2+i))printf("%c",*(p1+i));}A.gaeB.gaC.proD.lang11.以下定义中与int*p[4]等价的是______。CA.intp[4
7、]B.int*pC.int*(p[4])D.int(*p)[4]12.以下程序的运行结果是______。A#includevoidmain(){char*s="xcbc3abcd";inta,b,c,d;a=b=c=d=0;for(;*s;s++)switch(*s){case'c':c++;case'b':b++;default:d++;break;case'a':a++;}printf("a=%d,b=%d,c=%d,d=%d",a,b,c,d);}A.a=1,b=5,c=3,d=8B.a=1,b=2
8、,c=3,d=3C.a=9,b=5,c=3,d=8D.a=0,b=2,c=3,d=313.设char*aa[2]={"abcd","ABCD"};则以下说法中正确的是______。CA.aa数组元素的值分别是"abcd"和"ABCD"。B.aa是指针变量,它指向含有两个数组元