桂 林 理 工 大 学
实 验 报 告
实验名称 函数的应用 日期 2019年 04 月12 日
一、实验目的:
1. 掌握函数的定义和调用方法。
2. 练习重载函数的使用。
3. 练习使用系统函数。
4. 学习使用VC++的debug功能,分析递归调用过程。
二、实验环境:
Visual C++
三、实验内容:
(写出主要的内容)
1. 编写一个函数把华氏温度转换为摄氏温度,转换公式为:C=(F-32)*5/9。
#include<iostream.h>
float exchange(float F)
{
float C;
C=(F-32)*5/9;
return C;
}
int main()
{
float F,C;
cout<<"请输入摄氏温度:";
cin>>F;
C=exchange(F);
cout<<"转换后的华氏温度:"<<C<<endl;
return 0;
}
输出结果为:请输入摄氏温度:41
转换后的华氏温度:5
2. 编写重载函数max1可分别求取两个整数,三个整数,两个浮点数,有一个浮点数的最大值。
#include<iostream.h>
int max1(int x,int y)
{
return (x>y?x:y);
}
int max1(int x,int y,int z)
{
int t;
t=max1(x,y);
return (t>z?t:z);
}
float max2(float x,float y)
{
return (x>y?x:y);
}
float max2(float x,float y,float z)
{
float t;
t=max2(x,y);
return (t>z?t:z);
}
void main()
{
int a1,a2,a3,x1,y1;
float b1,b2,b3,x2,y2;
cout<<"请输入两个整形数:";
cin>>a1>>a2;
cout<<"两个数中最大值:"<<max1(a1,a2)<<endl;
cout<<"请输入三个整形数:";
cin>>a1>>a2>>a3;
cout<<"三个数中最大值:"<<max1(a1,a2,a3)<<endl;
cout<<"请输入两个浮点数:";
cin>>b1>>b2;
cout<<"两个数中最大值:"<<max2(b1,b2)<<endl;
cout<<"请输入三个浮点数:";
cin>>b1>>b2>>b3;
cout<<"三个数中最大值:"<<max2(b1,b2,b3)<<endl;
}
输出结果:请输入两个整形数:5 8
两个数中最大值:8
请输入三个整形数:1 5 2
三个数中最大值:5
请输入两个浮点数:1.2 -0.1
两个数中最大值:1.2
请输入三个浮点数:1.6 1.0 2
三个数中最大值:2
3. 使用系统函数pow(x,y)计算xy的值,注意包含头文件math.h。
#include<iostream.h>
#include<cmath>
void main()
{
int x;
int y;
cout<<"请输入x的值:";
cin>>x;
cout<<"请输入y的值:";
cin>>y;
cout<<x<<"的"<<y<<"次幂="<<pow(x,y)<<endl;
}
输出结果:请输入x的值:2
请输入y的值:3
2的3次幂=8
4. 用递归算法求N!的值(N<10),观察递归调用的过程。
#include<iostream.h>
int fun(int n)
{
int f;
if(n==1)f=1;
else f=fun(n-1)*n;
return f;
}
void main()
{
int n,s;
cout<<"请输入一个整数0~10:";
cin>>n;
s=fun(n);
cout<<n<<"!="<<s<<endl;
}
输出结果:请输入一个整数0~10:4
4!=24
5.使用debug中的Step Into追踪到函数内部,观察函数的调用过程。调试操作步骤如下:
1)选择菜单命令Build|Start Debug|Step in,或按下快捷键F11,系统进入单步执行状态,程序开始运行,并出现一个DOS窗口,此时Visual Studio中光标停在main()函数的入口处。
2)把光标移到语句answer=fun(n)前,从Debug菜单单击Run to Cursor,在程序运行的DOS窗口中按提示输入数字(如5),回到Visual Studio中,光标将停在该语句所在行,观察n及其他变量的值(观察方法见实验二)。
3)从Debug菜单或Debug工具栏中单击Step Into,或按下F11,程序进入fun函数,观察n,f及其他相关变量的值。重复上述操作,直到退出fun函数,分析程序的执行过程,加深对函数调用和递归调用的理解。
4)再试试Debug菜单栏中的菜单项,熟悉Debug的各种方法。
四、心得体会:
1.进一步加深了对c++的理解和应用
2.基本能够应用C++编写一些简单的程序
3.学会了如何调试程序