23790第6章-指针习题答案.docx
《23790第6章-指针习题答案.docx》由会员分享,可在线阅读,更多相关《23790第6章-指针习题答案.docx(9页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、习题解答一、单项选择题1. 若定义了int n=2, *p=&n, *q=p;则下面【 】的赋值是非法的。A. p=qB. *p=*qC. n=*qD. p=n【答案】D2. 若定义了double *p, a;则能通过scanf函数给输入项读入数据的程序段是【 】。A. p=&a; scanf(“%1e”,p);B. *p=&a; scanf(“%1f”,p);C. p=&a; scanf(“%f”,p);D. p=&a; scanf(“%1f”,a);【答案】C3. 若定义了int a10, i=3, *p; p=&a5;下面不能表示为a数组元素的是【】。A. p-5B. ai+5C. *p
2、+D. ai-5【答案】D4. 若有如下定义:int n5=1,2,3,4,5,*p=n;则值为的表达式是【】。A. *+5B. *(p+5)C. *p+=4D. p+4【答案】C5. 设变量b的地址已赋给指针变量ps,下面为“真”的表达式是【】。A. b=&psB. b=psC. b=*psD. &b=&ps【答案】C6. 设有以下定义和语句:int a32=1,2,3,4,5,6,*p3;p0=a1;则*(p0+1)所代表的数组元素是【】。A. a01B. a10C. a11D. a12【答案】C7. 若定义了char *str=”Hello!”;下面程序段中正确的是【】。A. char
3、c , *p=c; strcpy(p,str);B. char c5, *p; strcpy(p=&c1,&str3);C. char c5; strcpy(c,str);D. char c5; strcpy(p=c+2,str+3);【答案】B8. 若有下面的程序段,则不正确的fxy函数的首部是【】。main() int a20, n; fxy(n, &a10); A. void fxy(int i, int j)B. void fxy(int x, int *y)C. void fxy(int m, int n)D. void fxy(int p, int q10)【答案】A9. 不合法的
4、带参数main函数的首部形式是【】。A. main(int argc, char *argv)B. main(int i, char *j)C. main(int a, char *b)D. main(int argc, char *argv10)【答案】A10. 设有如下定义int (*pt)( );则以下叙述中正确的是【】。A. pt是指向一维数组的指针变量B. pt是指向整型数据的指针变量C. pt是一个函数名,该函数的返回值是指向整型数据的指针D. pt是指向函数的指针变量,该函数的返回值是整型数据【答案】D二、填空题1. 请指出在int *p3;定义中p是【】。在int (*q)()
5、;定义中q是【】。【答案】【1】整型指针数组;【2】指向返回值是整型的函数指针2. 若有如下定义,则使指针p指向值为20的数组元素的表达式是p+=。int a6=1,5,10,15,20,25,*p=a;【答案】43. 执行以下程序段后,x的值为。int a32=1,2,10,20,15,30;int x, *p;p=&a00;x=(*p)*(*(p+3)*(*(p+5);【答案】6004. 请填空将函数补充完整,使得add函数具有求两个数之和的功能。void add(int a, int b, 【1】c)【】=a+b;【答案】【1】int *;【2】*c5. 下面程序的功能是输出数组中的最大
6、值,由s指针指向该元素,请将该程序补充完整。main() int a8=6,7,2,9,1,10,5,8,*p,*s; for (p=a,s=a;p-a*s6. 下面程序的功能是通过调用aver函数,计算数组中各元素的平均值。请将该程序补充完整。float aver(int *a, int n) int i; float x=0.0; for (i=0;i0;【2】*argv三、阅读程序,写结果1. #include void fact(int m, int n, int *p1, int *p2)*p1=2*m+n;*p2=m-n/2;main()int a,b,c,d;a=4; b=7;f
7、act(a,b,&c,&d);printf(“%d%dn”,c,d);【答案】15 12. #include main()char str=”abcxyz”,*p;for (p=str;*p;p+=2)printf(“%s”,p);printf(“n”);【答案】abcxyzcxyxyz3. #include main()static int x=1,2,3;int s,i,*p=NULL;s=1;p=x;for(i=0;i3;i+)s*=*(p+i);printf(“%dn”,s);【答案】64. #include main()int a=1,2,3,4,5;int *p=NULL;p=a;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 23790 指针 习题 答案
限制150内