10章指针练习-答案.docVIP

  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文档。上传文档
查看更多
10章指针练习-答案

一、选择1.变量的指针,其含义是指该变量的____。B A) 值 B) 地址 C) 名 D) 一个标志 2.设有语句:int a=5,*p1=a,*p2=p1; 则下面错误的赋值语句是 。B A) a=*p1+*p2; B) p2=a; C) p1=p2; D) a=*p1*(*p2); 3.若有语句 int a,*p=a;下面正确的语句是_____。C A) scanf(%d,p); B) scanf(%d,a); C) scanf(%d,p); D) scanf(%d,*p); 4.若有定义:int a[5],*p=a; 则对a 数组元素的正确引用是____ 。D A) *a[5] B) a+2 C) *(p+5) D) *(a+2) 4.若有定义: int a[5],*p=a; 则对a 数组元素地址的正确引用是____ 。D A) p+5 B) *a+2 C) a+1 D) a[0] 5.若有语句 int a=4,p=a;下面均代表地址的一组选项是_____。D A) a,p,*a B) *a,a,*p C) *p,*p,a D) a,*p,p 6.设有语句:int a=3,b,*p=a;则下列语句中使b不为3的语句是。D A) b=*a; B) b=*p; C) b=a; D) b=*a; 7.设有语句:int a,b=7,*p=a; 则与 a=b;等价的语句是 。B A) a=*p; B) *p=*b; C) a=b; D) a=p; 8.若有定义:int a[5],*p=a;则 *(p+3) 表示_____ 。B A) 元素a[3]的地址 B) 元素a[3]的值 C) 元素a[4]的地址 D) 元素a[4]的值 9.若有定义:int a[5],*p=a;则 p+3 表示_____ 。A A) 元素a[3]的地址 B) 元素a[3]的值 C) 元素a[4]的地址 D) 元素a[4]的值 10.执行语句段:int a=25,*p=a; printf(%d,,(*p)++); printf(%d,a); 则输出的结果是________ 。B A) 25,25 B) 25,26 C) 26,26 D) 26,25 11.执行语句段:int a=25,*p=a; printf(%d,,++*p); printf(%d,a); 则输出的结果是________ 。C A) 25,25 B) 25,26 C) 26,26 D) 26,25 二、填空 1.*称为__________运算符,称为_______运算符。 2.设int a[10],*p=a;则对a[3]的引用可以是____*(p+3)或_____*(a+3)。 3. 后面跟变量名,表示该变量的_________。 * 后面跟指针变量名,表示该指针变量______内容______________ 。 4.设有 char *a=ABCD,则 printf(%s,a);的输出是 ______;ABCD 而 printf(%c,*a);的输出是 ______;A 而 printf(%c,*(a+3));的输出是 ______;D 5.设有定义和语句:int a[3][2]={10,20,30,40,50,60},(*p)[2];p=a; 则printf(%d,*(*(p+2)+1));的值为________ 。答案: 60 6.下面函数要求计算两个整数x,y之和,并通过形参z传回该和值,请填空。 void add(int x,int y,________ z) 答案:int * { ________ =x+y; return; } 答案:*z 6.以下程序的功能是从键盘输入若干字符(以回车键结束)组成一个字符串 存入一个字符数组,然后输出该字符数组中的字符串。请填空 。 #include stdio.h main() {char str[20],*strp; int i; for(i=0;i20;i++) { str[i]=getchar(); if(str[i]==\n) break;} str[i]=_________; 答案: \0 strp=str; while(*strp)putchar(*strp________);答案: ++ } 三、程序分析题 1.阅读函数,写出函数的主要功能 。 swap(int *p1,int *p2) {int t; if(*p1*p2) {t=*p1;*p1=*p2;*p2=t;} } 答案:若指针变量p1所指向的变量的值大于指针变量p2所指向的变量的值 则交换指针变量所指向的变量的值。 2.阅读函数,写出函数的主要功能 。 float av(float a[],int n) { int i; float s=0; for(i=0;i

文档评论(0)

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

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

1亿VIP精品文档

相关文档