作业三解答17页

上传人:文库****9 文档编号:175187013 上传时间:2021-03-22 格式:DOC 页数:17 大小:43KB
返回 下载 相关 举报
作业三解答17页_第1页
第1页 / 共17页
作业三解答17页_第2页
第2页 / 共17页
作业三解答17页_第3页
第3页 / 共17页
作业三解答17页_第4页
第4页 / 共17页
作业三解答17页_第5页
第5页 / 共17页
点击查看更多>>
资源描述

《作业三解答17页》由会员分享,可在线阅读,更多相关《作业三解答17页(17页珍藏版)》请在金锄头文库上搜索。

1、C+语言程序设计作业3一、填空题1、假定p所指对象的值为28,p+1所指对象的值为62,则*p+的值为 。答案:282、假定p所指对象的值为28,p+1所指对象的值为62,则*+p的值为 。答案:623、假定p所指对象的值为25,p+1所指对象的值为50,则执行”(*p)+;”语句后,p所指对象的值为 。答案:264、假定p所指对象的值为25,p+1所指对象的值为50,则执行”*(p+);”语句后,p所指对象的值为 。答案:505、假定a是一个指针数组,则a+I所指对象的地址比a地址大 字节。答案:a+4*i6、假定a是一个一维数组,则a i的指针访问方式为 。答案: *(a+i)7、假定a是

2、一个二维数组,则aij的指针访问方式为 。答案: *(*(a+i)+j)/*(ai+j)8、假定a是一个一维数组,则ai对应的存储地址(以字节为单位)为 。答案:a+sizeof(a0)*i9、假定一个二维数组为aMN,则aij对应的存储地址(以字节为单位)为 。答案:&a00+sizeof(a00)*i*n+ sizeof(a00)*j10、假定一个二维数组为aMN,则ai的地址值(以字节为单位)为 。答案:&a00+sizeof(a00)*i*n11、假定p是一个指向float型数据的指针,则p+1所指数据的地址比p所指数据的地址大 字节。答案:412、假定a为一个字符数组名,则元素a8的

3、字节地址为 。答案:a+813、假定a为一个整型数组名,则元素a4的字节地址为 。答案:a+4*414、假定一个结构类型的定义为”struct Aint a, b;short c;A * d;”,则该类型的大小为 字节。答案:1415、假定一个结构类型的定义为”struct Bint a8;char*b;”,则该类型的大小为 字节。答案:3616、假定一个结构类型的定义为”struct Dint a;unionint b;double c;D*d3;”,则该类型的大小为 字节。答案:2417、假定要动态分配一个类型为Worker的具有n个元素的数组,并由r 指向这个动态数组,则使用的语句为 。

4、答案:Worker *r=new Workern18、假定要访问一个结构x中的由a指针成员所指向的对象,则表示方法为 。答案:a-19、假定要访问一个结构指针p所指对象中的b指针成员所指的对象,则表示方法为 。答案:p-b-二、给出下列程序运行后的输出结果1.# include void main()int a8=7,9,11,13,3,8,15,17;int *p=a;for(int i=0;i8;i+)coutsetw(5)*p+;if (i+1)%4=0) coutendl;答案7 9 11 138 3 15 17 2.# include void main()int a5=3,6,15

5、,7,20;int *p=a;for(int i=0;i5;i+)coutsetw(5)*p+;coutendl;for(i=0;i5;i+)coutsetw(5)*-p;coutendl;答案3 6 15 7 2020 7 15 6 33# include void main()int a8=4,8,12,16,20,24,28,32;int *p=a;docout*p ;p+=3;while(pa+8);coutendl;答案 4 16 284.# include void main()int x=20,y=40,*p;p=&x;cout*p ;*p=x+10;p=&y;cout*pend

6、l;*p=y+20;coutx yendl;答案20 4030 605.# include int LA(int *a,int n)int s=0;for(int i=0;in;i+)s+=ai;return s;void main()int a=5,10,15,20,25,30;int b=LA(a,5);int c=LA(a+3,2);coutb c b+2*cendl;答案 75 45 1656# include void LC(int a,int b)int x=a;a=b;b=x;couta bendl;void main()int x=15,y=36;LC(x,y);coutx y

7、 endl;答案36 1515 367# include void LF(int &x,int y)x=x+y;y=x+y;coutx=x,y=yendl;void main()int x=5,y=8;coutx=x,y=yendl;LF(x,y);coutx=x,y=yendl;答案x=5,y=8x=13,y=21x=13,y=88.# include void LG(int * &a,int &m)a=new intm;int *p=a;for(int i=0;im;i+)*p+=2*i+1;void main()int *p,n=5;LG(p,n);for(int i=0;in;i+)c

8、outpi ;coutendl;delete p;答案 1 3 5 7 99# include void LH(int * a,int n)int *p=a+n-1;while(ap)int x=*a;*a=*p;*p=x;a+;p-;void main()int *d=new int5;int i;for(i=0;i5;i+)di=2*i+3;coutsetw(5)di ;coutendl;LH(d,5);for(i=0;i5;i+)coutsetw(5)di ;coutendl;delete d;答案3 5 7 9 1111 9 7 5 310# include void LH(int *

9、 a,int n)int *p=a+n-1;while(ap)int x=*a;*a=*p;*p=x;a+;p-;void main()int *d=new int5;int i;for(i=0;i5;i+)di=2*i+3;coutsetw(5)di ;coutendl;LH(d,5);for(i=0;i5;i+)coutsetw(5)di ;coutendl;delete d;答案3 5 7 9 1111 9 7 5 311.# include # include struct Workerchar name15;/姓名int age;/年龄float pay;/工资;void main(

10、)Worker x;char *t=liouting;int d=46;float f=725;strcpy(x.name,t);x.age=d;x.pay=f;coutx.name x.age x.payendl;答案 liouting 46 725三、写出下列每个函数的功能1# include void LI(int n)int *a=new intn,*p=a+n;for(int i=0;iai;for(i=n-1;i=0;i-) cout*(-p) ;coutn;delete a;答案 逆序打印键盘输入的n个数值2# include void LK(int a,int n,int *&

11、b,int &m)float s=0;int i;for(i=0;in;i+)s+=ai;s/=n;m=0;for(i=0;i=s) m+;b=new intm;int *p=b;for(i=0;i=s) *p+=ai;void main()int x=1,2,3,4,5,6,7,8,9,0,*y,z;LK(x,10,y,z);for(int i=0;i10;i+) coutxi ;coutendl;coutz endl;for(i=0;iz;i+) coutyi ;coutendl;答案 打印一组整数的平均值以及大于平均值的所有数值3# include /struct Worker/char name15;/姓名/int age;/年龄/float pay;/工资/;istream &op

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 其它办公文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号