文档详情

C语言习题 指针1.doc

发布:2017-01-02约9.06千字共9页下载文档
文本预览下载声明
C语言(指针)单元练习五#include stdio.h #include string.h main() { char *p1,*p2,s[10]=12345; p1=abcde; p2=ABCDE; strcpy(s+2,p1+3); strcat(s,p2+2); printf(%s,s); return;} A. 12deCDE B.12abcAB C. cdABC45 D. abcBDE 2. 以下程序运行之后的输出结果是______。 B #include stdio.h void main() { int *p,*p1,*p2,a=3,b=7; p1=a; p2=b; if(ab) { p=p1;p1=p2;p2=p; } printf(%d,%d ,*p1,*p2); printf(%d,%d,a,b); } A. 3,7 7,3 B. 7,3 3,7 C. 7,3 7,3 D. 3,7 3,7 3. 以下函数的功能是______。 B fun(int *p1,*p2) {int *p; *p=*p1; *p1=*p2; *p2=*p;} A. 正确,但没有交换*p1和*p2的值。 B. 使用了空指针,可能造成系统故障。 C. 能成功交换*p1和*p2的值。 D. 能成功交换*p1和*p2的地址。 4. 有以下程序: B #include stdio.h void main() { int x[8]={8,7,6,5,0,0},*s; s=x+3; printf(%d\n,s[2]); } 执行后输出结果是______。 A.随机值 B.0 C.5 D.6 5. 以下程序的输出结果是______。 D #include stdio.h #include string.h void main() { char b1[8]=abcdefg,b2[8],*pb=b1+3; while (--pb=b1) strcpy(b2,pb); printf(%d\n,strlen(b2)); } A. 8 B. 3 C. 1 D. 7 6. 若有以下说明: D int w[3][4]={{0,1},{2,4},{5,8}}; int (*p)[4]=w; 则数值为4的表达式是______。 A. *w[1]+1 B. p++,*(p+1) C. w[2][2] D. p[1][1] 7. 以下程序的输出结果是______。 A #include stdio.h int i; fun(int a, int *b); main() { int i=1, j=2; fun(fun(i, j), j); return; } fun(int a, int *b) { static int m=2; i+=m+a; m=++(*b); printf(%d,%d\n, i, m); return (m); } A. 3,3 B. 3,3 C. 3,3 D. 3,3 9,4 6,3 9,3 6,4 6.4 8. 若有语句:int a=4, *p=a;,下面均代表地址的一组选项是______。 C A. a,p,*a B. *a,a,*p C. a,p,*p D. *p,*p,a 9. 以下程序的输出结果为______。 C #include stdio.h void main() { char s[]=123,*p; p=s; printf(%c%c%c\n,*p++,*p++,*p++); } A. 123 B. 231 C. 321 D. 312 10. 以下程序的输出结果是______。 A #incl
显示全部
相似文档