C++实验报告共28页Word文档格式.docx
- 文档编号:14867694
- 上传时间:2022-10-25
- 格式:DOCX
- 页数:27
- 大小:667.40KB
C++实验报告共28页Word文档格式.docx
《C++实验报告共28页Word文档格式.docx》由会员分享,可在线阅读,更多相关《C++实验报告共28页Word文档格式.docx(27页珍藏版)》请在冰豆网上搜索。
a)使用debug调试功能观察程序运行中变量值的变化情况。
b)定义一个表示时间的结构体,可以精确表示年、月、日、小时、分、秒;
提示用户输入年、月、日、小时、分、秒的值,然后完整地显示出来。
3、实验(shí
yà
n)步骤
(1)例题(lì
tí
)2-7
#include<
iostream>
usingnamespacestd;
voidmain()
{
inti
(1),sum(0);
do
{
sum+=i;
i++;
}
while(i<
=10);
cout<
<
"
sum="
sum<
endl;
}
(2)用FOR语句(yǔjù
)代替
voidmain()
{inti
(1),sum(0);
for(i;
i<
=10,i++)
sum;
(3)计算(jì
suà
n)图形面积:
constfloatpi=3.1416;
intitype;
floatradius,a,b,area;
cout<
图形(tú
xí
ng)的类型是:
1:
圆形2:
长方形3:
正方形"
;
cin>
>
itype;
switch(itype)
case1:
圆的半径(bà
njì
ng)是:
cin>
radius;
area=pi*radius*radius;
面积(mià
njī)是:
area<
break;
case2:
矩形(jǔxí
ng)的长,宽分别为"
a>
b;
njī)为:
a*b<
case3:
正方形的边长是"
a;
njī)是"
a*a<
defaut:
不是合法(hé
fǎ)的输入"
时间的结构体:
structriqi
intyear;
intmon;
intday;
inthour;
intminut;
intsecond;
};
riqia;
输入(shūrù
)时间日期"
)年份"
a.year;
)月份"
a.mon;
)日期"
a.day;
输入小时"
a.hour;
输入分钟"
a.minut;
输入秒"
a.second;
时间是:
a.year<
--"
a.mon<
a.day<
a.hour<
:
a.minut<
[实验(shí
n)结果]
运行(yù
nxí
ng)结果:
sum=55
去掉#include后出现(chūxià
n)四个错误
errorC2143:
syntaxerror:
missing'
'
before'
errorC2065:
'
cout'
:
undeclaredidentifier
errorC2297:
illegal,rightoperandhastype'
char[5]'
endl'
实验(shí
n)三、函数的应用(2学时(xué
shí
))
1、实验(shí
n)目的:
掌握函数的定义和调用(dià
oyò
ng)方法。
练习重载函数使用。
练习函数模板的使用
练习使用系统函数。
2、实验任务:
编写一个函数把华氏温度转换为摄氏温度,转换公式为:
C=(F-32)*5/9。
编写重载函数Max1可分别求取两个整数,三个整数,两个双精度数,三个双精度数的最大值。
使用重函数模板重新实现上小题中的函数Max1。
使用系统函数pow(x,y)计算xy的值,注意包含头文件math.h。
用递归的方法编写函数求Fibonacci级数,观察递归调用的过程。
3、实验步骤与结果
编写(biānxiě)函数floatConvert(floatTempFer),参数(cānshù
)的返回值都为float类型(lè
ixí
ng),实现算法C=(F-32)*5/9,在main()函数中实现输入(shūrù
)、输出。
程序名为lab3_1.cpp.
分别编写四个同名函数max1,实现函数重载,在main()函数中测试函数功能。
程序名:
lab3_2.cpp。
使用函数模板实现求任意类型数的最大值,针对不同的参数个数,编写两个同名函数模板max1,其参数个数不同,实现函数重载,在main()函数中测试函数的功能。
和序名:
lab3_3.cpp。
在main()函数(há
nshù
)中提示输入两个整数x,y,使用(shǐyò
ng)cin语句(yǔjù
)得到x,y的值,调用(dià
ng)pow(x,y)函数计算x的y次幂的结果,再显示出来。
lab3_4.cpp。
编写递归函数intfib(intn),在主程序中输入n的值,调用fib函数计算Fibonacci级数。
公式为fib(n)=fib(n-1)+fib(n-2),n>
2;
fib
(1)=fib
(2)=1。
使用if语句判断函数的出口,在程序中用cout语句输出提示信息。
lab3_5.cpp。
7)调试(dià
oshì
)操作步骤如下:
选择(xuǎnzé
)菜单命令Build|StartDebug|StepIn,系统进入单步执行(zhí
ng)状态,程序开始运行,并出现一个DOS窗口,此时(cǐshí
)光标停在main()函数的入口处。
把光标移到语句answer=fib(n)前,从Debug菜单单击RunToCursor,在程序运行的DOS窗口中按提示输入数字10,这时回到可视界面中,光标停在第11行,观察一下n的值。
从Debug菜单中单击StepInto,程序进入fib函数,观察一下n的值,把光标移到语句return(fib(n-2)+fib(n-1))前,从Debug菜单单击RuntoCursor,再单击StepInto,程序递归调用fib函数,又进入fib函数,观察n的值。
继续执行程序,参照上述的方法,观察程序的执行顺序,加深对函数调用和递归调用的理解。
再试试Debug菜单栏中的别的菜单项,熟悉Debug的各种方法。
4、实验原理
C++中函数的重载使得同样的函数名下,只要参数类型、数目不同时,即可根据输入的数据进行相应的函数调用,使用起来简单方便。
5、思考与体会
C++中,函数的运用与之前学过的C语言既有相同之处,也有着不同的地方。
相同的地方在于格式、用法等框架上的不变。
但是C语言中对于同样的函数名是只能够申明一种函数的,倘若有相同的函数名出现系统即会报错,所以用起来有时是极为不便的。
而C++中,函数的多态性与重载使得(shǐde)这一缺点得以补偿。
在对于不同的元素或对象进行同一种操作时,可以使用同样的函数名,只是对于形参类型的不同,虽然是调用的不同的函数,但是只要形参的个数、类型不同,是允许同名函数的存在的。
这对于编程与审阅都是很方便的。
6、部分参考(cānkǎo)代码
lab3_1:
iostream.h>
//转换(zhuǎnhuà
n)公式
floatConvert(floatTempFer){
floatcon;
con=(TempFer-32)*5/9.0;
returncon;
//主函数(há
)
voidmain(void){
floatTem;
请输入华氏温度:
Tem;
摄氏温度为:
Convert(Tem)<
Lab3_2:
//参数为两个整形的函数
intmax1(inta,intb){
a=a>
b?
a:
returna;
//参数为三个整形的函数
intmax1(inta,intb,intc){
c?
c;
//参数为两个双精度(jīnɡdù
)浮点形的函数
intmax1(doublea,doubleb){
//参数为三个双精度(jīnɡdù
intmax1(doublea,doubleb,doublec){
inta;
doubleb;
a=max1(1,2);
a<
a=max1(3,9,5);
b=max1(1.3,4.4);
b<
b=max1(3.4,5.6,7.5);
Lab3_3:
intmain(){
inti,j,k;
请输入(shūrù
)要比较的3个数:
cin>
i>
j>
k;
cout
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ 实验 报告 28