实验报告一Word文档格式.docx

上传人:b****0 文档编号:13216542 上传时间:2022-10-08 格式:DOCX 页数:10 大小:43.21KB
下载 相关 举报
实验报告一Word文档格式.docx_第1页
第1页 / 共10页
实验报告一Word文档格式.docx_第2页
第2页 / 共10页
实验报告一Word文档格式.docx_第3页
第3页 / 共10页
实验报告一Word文档格式.docx_第4页
第4页 / 共10页
实验报告一Word文档格式.docx_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

实验报告一Word文档格式.docx

《实验报告一Word文档格式.docx》由会员分享,可在线阅读,更多相关《实验报告一Word文档格式.docx(10页珍藏版)》请在冰豆网上搜索。

实验报告一Word文档格式.docx

2、设计一个函数:

exchange(floatx,floaty,floatz),当调用exchange(a,b,c)时,将a的内容赋值给b,b的内容赋值给c,c的内容赋值给a,要求采用引用的方式来实现。

3、设计一个程序,测试const的三种用法:

指向常量的指针,常指针,指向常量的常指针。

4、编写一个函数,实现两个字符串变量的交换,要求参数用引用。

5、设计一个程序,比较内联函数和普通函数在时间开销和目标文件大小等方面的区别。

四、实验过程设计

略。

五、实验结果分析

(一)、程序理解

1.#include<

iostream.h>

intmax_def(intx,inty)

{

return(x>

y?

x:

y);

}

intmax_def(intx,inty,intz)

inttemp=0;

return(temp=(x>

y))>

z?

temp:

z;

doublemax_def(doublex,doubley)

intmain()

intx1=0;

intx2=0;

doubled1=0.0;

doubled2=0.0;

x1=max_def(5,6);

x2=max_def(2,3,4);

d1=max_def(2.1,5.6);

d2=max_def(12.3,3.4,7.8);

cout<

<

"

x1="

<

x1<

endl;

x2="

x2<

d1="

d1<

d2="

d2<

}

问题一:

上述程序的输出结果是什么?

问题二:

哪些情况可以参与函数的重载?

答:

同名函数具有相同的功能,而只是参数的个数和参数的类型不同时可以参与函数的重载。

问题三:

①处调用的是哪个函数?

调用的是

inttemp=0;

return(temp=(x>

问题四:

②处的输出结果为什么是d2=12,而不是d2=12.3?

 

答:

因为该函数的类型为int型,所以返回整型值。

2.#include<

int*p1=newint;

-----------------------------------------------------①

int*p2=newint(0);

-----------------------------------------------------②

char*p3=newchar[64];

-----------------------------------------------------③

return1;

①、②、③处动态申请内存分别代表什么不一样的意思?

①处*p1指向一个未初始化的int型对象;

②处*p2指向一个表示为0的int型对象;

③处*p3指向64个char型对象。

该程序存在什么隐患?

改正该程序使隐患消除。

#include<

int*p1;

p1=newint;

int*p2;

p2=newint(0);

char*p3;

p3=newchar[64];

在分配操作结束后,返回的地址值为0,内存申请未成功。

{3.#include<

voidswap(inta,intb)

inttemp=a;

a=b;

b=temp;

voidswap(int*a,int*b)

inttemp=*a;

*a=*b;

*b=temp;

inti=5;

intj=10;

cout<

Beforeswap:

i="

i<

j="

j<

swap(i,j);

Afterthefirstswap:

swap(&

i,&

j);

Afterthesecondswap:

①处函数调用后并不能实现两个数的交换,而②处却可以,为什么?

①处交换的是i和j的地址值,②处交换的是i和j的值

②处调用的是哪个重载函数?

(二)、程序设计

1.#include<

#include<

math.h>

voidmain()

{

intjuli(int,int,int,int);

doublejuli(double,double,double,double);

inta,b,c,d,s;

"

pleaseinputintegera,b,c,d="

;

cin>

>

a>

b>

c>

d;

s=juli(a,b,c,d);

juli_abcd="

s<

doublee,f,g,h,r;

pleaseinputdoublee,f,g,h="

e>

f>

g>

h;

r=juli(e,f,g,h);

juli_efgh="

r<

intjuli(intx,inty,intz,intt)

{intm;

m=sqrt((y-x)*(y-x)+(t-z)*(t-z));

returnm;

doublejuli(doublex,doubley,doublez,doublet)

{doublem;

运行结果:

2.#include<

main()

floata,b,c;

voidexchange(float&

float&

);

pleaseinputa,b,c="

cin>

c;

exchange(a,b,c);

a="

a<

b="

b<

c="

c<

voidexchange(float&

x,float&

y,float&

z)

x=y;

y=z;

z=x;

3.#include<

intc=4,d=5,m=6;

intconst*p1=&

constint*p2=&

constint*constp3=&

m;

p1=&

//*p1=d;

//error

p2=&

//*p2=d;

//p3=&

//*p3=d;

*p1="

*p1<

\n"

*p2="

*p2<

*p3="

*p3<

4.#include<

#defineN10

voidswap(char&

char&

chars1[N],s2[N];

inti;

pleaseinputs1:

s1;

pleaseinputs2:

s2;

{

for(i=0;

10;

i++)

swap(s1[i],s2[i]);

afterswap:

\ns1="

s1<

:

\ns2="

s2<

}

s1,char&

s2)

chars3;

s3=s1;

s1=s2;

s2=s3;

5.#include<

iostream>

ctime>

usingnamespacestd;

inlinedoubleCalArea(doubler)

return3.14*r*r;

doublemianji(doubler)

intmain()

doubler=3.0;

doublearea1,area2;

time_tnow;

time(&

now);

printf("

%s\n"

asctime(localtime(&

now)));

22222*22222;

area1=CalArea(r);

area2=mianji(r);

area1<

area2

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 动物植物

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1