C语言指针章节选择题新

上传人:无*** 文档编号:102435581 上传时间:2022-06-06 格式:DOC 页数:19 大小:104.50KB
返回 下载 相关 举报
C语言指针章节选择题新_第1页
第1页 / 共19页
C语言指针章节选择题新_第2页
第2页 / 共19页
C语言指针章节选择题新_第3页
第3页 / 共19页
点击查看更多>>
资源描述
1. 若已定义: int a=0,1,2,3,4,5,6,7,8,9,*p=a,i; 其中0i9,则对a数组元素不正确的引用是 A) ap-a B) *(&ai) C) pi D) a10D2. 已知指针p的指向如下图所示,则执行语句*-p;后*p的值是 a0 a1 a2 a3 a4 10 | 20 | 30 40 | 50 | pA) 30 B) 20 C) 19 D) 29B3. 下面程序运行时,如果从键盘上输入3,5,程序输出的结果是_。 main( ) int a,b,*pa,*pb; pa=&a; pb=&b; scanf(%d,%d,pa,pb); *pa=a+b; *pb=a+b; printf(a=%d,b=%dn,a,b); A) a=13,b=13 B) a=8,b=8C) a=8,b=13 D) 出错C4. 下面程序段的输出结果是_。 main( ) char string120,string220=ABCDEF; strcpy(string1,string2); printf(%sn,string1+3); A) EF B) DEFC) CDEF D) ABCDEFB5. 下列程序执行后的输出结果是_。 main() int a33,i,*pmul; pmul=&a00; for(i=0;i9;i+) pmuli=i+1; printf(%dn,a12); A) 3 B) 6C) 9 D) 随机数B6. 有如下程序段 int *p,a=10,b=1; p=&a; a=*p+b; 执行该程序段后,a的值为_。A) 12 B) 11C) 10 D) 编译出错B 8. 以下函数返回a所指数组中最小值所在的下标值 fun( int *a,int n) int i,j=0,p; p=j; for(i=j;in;i+) if( *(a+i)*(a+p) )_; return (p); 在下划线处应填入的是_。A) i=p; B) ap=ai;C) p=j; D) p=i;D 8. 有如下说明 int a10=1,2,3,4,5,6,7,8,9,10,*p=a;则数值为9的表达式是_。A) *(p+9) B) *(p+8)C) *p+=9 D) p+8B9. 有如下程序 main() char s=ABCD,*p; for(p=s+1;ps+4;p+) printf(%sn,p); 该程序的输出结果是_。A) ABCD B) A BCD B CD C D DC) B D) BCD C CD D DD 10. 下面程序的输出结果是 main() int a=1,2,3,4,5,6,7,8,9,0,*p; p=a; printf(%dn,*p+9); A) 0 B) 1C) 10 D) 9C 11. 若有说明语句int i,j =7,*p=&i;,则与i=j等价的语句是A) i=*p; B) *p=*&j;C) i=&j; D) i=*p ;B12. 若有说明语句int a10,*p=a;,对数组元素的正确引用是A) ap B) paC) *(p+2) D) p+2C13. 下列各语句行中,能正确进行赋字符串操作的语句是A) char s5=ABCDE;B) char s5=A ,B,C,D,E;C) char *s; s=ABCDE;D) char *s; scanf(%s,&s);C14. 若有以下定义语句,则不能表示a数组元素的表达式是 int a10=1,2,3,4,5,6,7,8,9,10,*p=a;A) *p B) a10C) *a D) ap-aB 15. 执行语句char a10=abcd,*p=a;后,*(p+4)的值是A) abcd B) dC) 0 D) 不能确定C16. 设有定义语句int (*ptr)10;,其中的ptr是A) 10个指向整型变量的指针B) 指向10个整型变量的函数指针C) 一个指向具有10个元素的一维数组的指针D) 具有10个指针元素的一维数组C17. 若有以下定义,则数组为4的表达式是int a34=0,1,2,4,5,8,(*p)4=a;A) *a1+1 B) p+,*(p+1)C) a22 D) p11D 18. 若有如下定义和语句,则输出结果是 char *a=ABCD;printf(%s,a);A) A B) ABC) ABC D) ABCDD 19. 下列程序执行后输出的结果是main()char *a6=AB,CD,EF,GH,IJ,KL;int i;for(i=0;i4;i+)printf(%s,ai);printf(n);A) ACEG B) ABCDEFGHC) EGIK D) EFGHIJKLB 20. 设有变量定义语句int a23;,能正确表示数组a中元素地址的表达式是A) a1+3 B) *(a+2)C) *(a1+2) D) *(a+1)D 21. 一个能指向具有5个整型元素的一维数组指针的正确定义方式是A) int (*p)5; B) int *p5;C) int (*p5); D) int *(p5);A22. 若有说明语句 int a24=2,4,6,8,10,12,14,16,*p=a0;,则表达式*(*(a+1)+2)*(p+1)的值是A) 140 B) 80C) 56 D) 48C 23. 若有变量定义语句int a43,*p=a2;则表达式指向的数组元素是A) a01 B) a11C) a22 D) a30C ?24. 若已定义: int a =0,1,2,3,4,5,6,7,8,9,*p=a,i;其中0i9,则对a数组元素不正确的引用是A) ap-a B) *(&ai)C) Pi D) a10D25. 下列程序执行后的输出结果是void func(int *a,int b )b0=*a+6;main()int a,b5; a=0;b0=3; func(&a,b);printf(%dn,b0);A) 6 B) 7C) 8 D) 9A26. 下列程序的输出结果是int b=2;int func(int *a)b+=*a;return(b);main()int a=2,res=2; res+=func(&a); printf(%dn,res);A) 4 B) 6C) 8 D) 10B27. 下列程序的输出结果是:void fun(int *x,int *y)printf(%d%d,*x,*y);*x=3;*y=4;main()int x=1,y=2; fun(&y,&x); printf(%d%d,x,y);A) 2 1 4 3 B) 1 2 1 2C) 1 2 3 4 D) 2 1 1 2D? A 28. 有如下程序段int *p,a=10,b=1;p=&a;a=*p+b;执行该程序段后,a的值为A) 12 B) 11C) 10 D) 编译出错B29. 以下函数返回a所指数组中最小值所在的下标值fun(int *a,int n)int i,j=0,p;p=j;for(i=j;in;i+)if(aiap) _;return(p);在下划线处应填入的是:A) i=p B) ap=aiC) p=j D) p=iD 30. 下面程序把数组元素中的最大值放入a0中,则在if语句中的条件表达式应该是main()int a10=6,7,2,9,1,10,5,8,4,3,*p=a,i;for(i=0;ia B) *Pa0C) *P*a0 D) *P0*a0B 31. 以下程序的输出结果是#include int a33=1,2,3,4,5,6,7,8,9,*p;main() p=(int*)malloc(sizeof(int);f(p,a);printf(%dn,*p);f(int *s,int p 3)*s=p11;A) 1 B) 4C) 7 D) 5D32. 以下程序的输出结果是:main()char *s=12134211; int v4=0,0,0,0,k,i; for(k=0;sk;k+) switch(sk)case 1:i=0; case 2:i=1; case 3:i=2; case 4:i=3;vi+;for(k=0;k4;k+) printf(%d ,vk);A) 4 2 1 1 B) 0 0 0 8C) 4 6 7 8 D) 8 8 8 8B 33. 以下程序的输出结果是main() char a10=1,2,3,4,5,6,7,8,9,0,*P;int i;i=8;p=a+i;printf(%sn,p-3);A) 6 B) 6789C) 6 D) 789B34. 下列程序执行后的输出的结果是main()int a33,*p;p=&a00;for(i=0; i9;i+) pi=i+1;printf(%dn,a12);A) 3 B) 6C) 9 D) 随机数B 35. 下列程序的输出结果是#include main( )int a =1,2,3,4,5,6,*p;p=a;*(p+3)+=2;printf(%d,%dn,*p,*(p+3);A) 0,5 B) 1,5C) 0,6 D) 1,6D 36. 若在C程序中有以下说明和语句,则下面表示的都是对数组元素的正确引用的是(其中0=i4, 0=j3)main( )int a43=0,*ptr3,i,j;ptr=a;.A) aij, ai+j, *(*(a+i)+j)B) *(ptr+i)j, ptri+j, *(*(ptr+i)+j)C) *(ptr+i)j, *(a+i)j, *(ptr+i)D) ptrij, *(ptri+j),*(ai+j)D ? 37. 若有以下说明和语句,其输出结果是char *s=tvowilln;printf(%d,strlen(s);A) 14 B) 3C) 9 D) 10B?C 38. 若有以下说明和语句,其输出结果是char *sp=x69082n;printf(%d,strlen(sp);A) 3 B) 5C) 1 D) 字符串中有非法字符,输出值不定A 39. 下列程序的输出结果是main()char ch25=6937,8254,*p2; int i,j,s=0; for(i=0;i2;i+) pi=chi; for(i=0;i0;j+=2) s=10*s+pij-0; printf(%dn,s);A) 69825 B) 63825B) 6385 D) 693825C40. 以下程序的输出结果是int fun(int x,int y,int *cp,int *dp)*cp=x+y;*dp=x-y;main ()int a,b,c,d; a=30;b=50; fun(a,b,&c,&d); printf(%d,%dn,c,d);A) 50,30 B) 30,50C) 80,-20 D) 80,20C
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 压缩资料 > 基础医学


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!