教材课后题答案-第6章_指针习题答案..docVIP

教材课后题答案-第6章_指针习题答案..doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
习题解答 一、单项选择题 若定义了int n=2, *p=n, *q=p;则下面【 】的赋值是非法的。 p=q B. *p=*q C. n=*q D. p=n 【答案】D 若定义了double *p, a;则能通过scanf函数给输入项读入数据的程序段是【 】。 p=a; scanf(“%1e”,p); B. *p=a; scanf(“%1f”,p); C. p=a; scanf(“%f”,p); D. p=a; scanf(“%1f”,a); 【答案】C 若定义了int a[10], i=3, *p; p=a[5];下面不能表示为a数组元素的是【 】。 p[-5] B. a[i+5] C. *p++ D. a[i-5] 【答案】D 若有如下定义: int n[5]={1,2,3,4,5},*p=n; 则值为5的表达式是【 】。 *+5 B. *(p+5) C. *p+=4 D. p+4 【答案】C 设变量b的地址已赋给指针变量ps,下面为“真”的表达式是【 】。 b==ps B. b==ps C. b==*ps D. b==ps 【答案】C 设有以下定义和语句: int a[3][2]={1,2,3,4,5,6},*p[3]; p[0]=a[1]; 则*(p[0]+1)所代表的数组元素是【 】。 a[0][1] B. a[1][0] C. a[1][1] D. a[1][2] 【答案】C 若定义了char *str=”Hello!”;下面程序段中正确的是【 】。 char c[ ], *p=c; strcpy(p,str); char c[5], *p; strcpy(p=c[1],str[3]); char c[5]; strcpy(c,str); char c[5]; strcpy(p=c+2,str+3); 【答案】B 若有下面的程序段,则不正确的fxy函数的首部是【 】。 main() { int a[20], n; … fxy(n, a[10]); … } 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 q[10]) 【答案】A 不合法的带参数main函数的首部形式是【 】。 main(int argc, char *argv) B. main(int i, char **j) C. main(int a, char *b[]) D. main(int argc, char *argv[10]) 【答案】A 设有如下定义int (*pt)( );则以下叙述中正确的是【 】。 pt是指向一维数组的指针变量 pt是指向整型数据的指针变量 pt是一个函数名,该函数的返回值是指向整型数据的指针 pt是指向函数的指针变量,该函数的返回值是整型数据 【答案】D 二、填空题 请指出在int *p[3];定义中p是  【1】  。 在int (*q)();定义中q是  【2】  。 【答案】【1】整型指针数组;【2】指向返回值是整型的函数指针 若有如下定义,则使指针p指向值为20的数组元素的表达式是p+=    。 int a[6]={1,5,10,15,20,25},*p=a; 【答案】4 执行以下程序段后,x的值为    。 int a[3][2]={{1,2},{10,20},{15,30}}; int x, *p; p=a[0][0]; x=(*p)*(*(p+3))*(*(p+5)); 【答案】600 请填空将函数补充完整,使得add函数具有求两个数之和的功能。 void add(int a, int b,  【1】 c) {  【2】  =a+b;} 【答案】【1】int *;【2】*c 下面程序的功能是输出数组中的最大值,由s指针指向该元素,请将该程序补充完整。 main() { int a[8]={6,7,2,9,1,10,5,8},*p,*s; for (p=a,s=a;p-a8;p++) if (    ) s=p; printf(“max:%d\n”,*s); } 【答案】*p*s 下面程序的功能是通过调用aver函数,计算数组中各元素的平均值。请将该程序补充完整。 float aver(int *a, int n) { int i; float x=0.0; for (i=0;in;i++) x+=  【1】  ; x=  【2】  ; return x; } main() { int m[]={2,1,7,4,5,9,6}; float avg; avg=av

文档评论(0)

yxnm + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档