第3章
函数
要点导读
本章的主要目标是学会将一段功能相对独立的程序写成一个函数为下一学习类和对象打好必要的基础。掌握函数定义和调用的语法形式并不难,但是要有效地应用函数,必须对函数调用的执行过程和参数的传递有深刻的认识,这也是初学时的难点。
要很好地理解函数的调用和参数传递,尤其是嵌套调用和递归调用的执行过程,比较有效的方法是利用编译器的调试功能,跟踪函数调用的执行过程,观察参数和变量的值。
实验3 函数的应用(2学时)
实验目的
(1)掌握函数的定义和调用方法。
(2)练习重载函数的使用。
(3)练习使用系统函数。
(4)学习使用Visual C++的Debug调试功能,使用Step Into追踪到函数内部。
二、实验任务
(1)编写一个函数把华氏温度转换为摄氏温度,转换公式为:C=(F-32)*5/9。
(2)编写重栽函数Max1可分别求取2个整数、3个整数、2个双精度数、3个双精度数的最大值。
(3)使用系统函数pow(x,y)计算xy的值,注意包含头文件cmath。
(4)用递归的方法编写函数求Fibonacci级数,观察递归调用的过程。
三、实验步骤
(1)编写函数float Convert(float TempFer),参数和返回值都为float类型,实现算法C=(F-32)*5/9,在main()函数中实现输入、输出。程序名:lab3_1.cpp。
//lab3_1.cpp
#include
using namespace std;
float Convert(float);
int main()
{
float TempFer;
float TempCel;
cout << "Please enter the temperature in Fahrenheit: ";
cin >> TempFer;
TempCel = Convert(TempFer);
cout << "\nHere's the temperature in Celsius: ";
cout << TempCel << endl;
return 0;
}
float Convert(float TempFer)
float TempCel;
TempCel = ((TempFer - 32) * 5) / 9;
return TempCel;
}
(2)分别编写4个同名函数max1,实现函数重载,在main()函数中测试函数功能。程序名:lab3_2.cpp。
//lab3_2.cpp
#include
using namespace std;
int max1(int x, int y)
{
return (x>y?x:y);
}
int max1(int x, int y, int z)
{
int temp1=max1(x,y);
return (y>z?y:z);
}
double max1(double x, double y)
{
return (x>y?x:y);
}
double max1(double x, double y, double z)
{
double temp1=max1(x,y);
return (y>z?y:z);
}
void main()
{
int x1, x2;
double d1, d2;
x1 = max1(5,6);
x2 = max1(2,3,4);
d1 = max1(2.1, 5.6);
d2 = max1(12.3, 3.4, 7.8);
cout << "x1=" < cout << "x2=" < cout << "d1=" < cout << "d2=" < (3)在main()函数中提示输入两个整数x、y,使用cin语句得到x、y的值,调用pow (x,y)函数计算x的y次幂的结果,再显示出来。程序名:lab3_4.cpp。 //lab3_4 #include #include using namespace std; void main() { int x, y; cout << "输入x的值:"; cin >> x; cout << "输入y的值:"; cin >> y; cout << x << "的" << y << "次幂为:" << pow(x,y) << endl; } (4)编写递归函数int fib(int n),在主程序中输入n的值,调用fib函数计算Fibonacci级数。公式为fib(n)=fib(n-1)+fib(n-2),n>2;fib(1)=fib(2)=1;使用if语句判断函数的出口,在程序中用cout语句输出提示信息。程序名:lab3_5.cpp。 实验三类与对象 1.实验目的 1.掌握类的定义和使用 2.掌握类的定义和对象的声明 3.复习具有不同访问属性的成员的访问方式 4.观察构造函数和析构函数的执行过程 5.学习类的组合使用方法 6.使用VC++的debug调试功能观察程序流程,跟踪观察类的构造函数、析构函数、成员函数的执行顺序。 2.实验要求 1.定义一个CPU类,包含等级(rank)、频率(frequency)、电压(voltage)等属性,有两个公有成员函数run、stop。其中,rank为枚举类型CPU_Rank,定义为enum CPU_Rank{P1=1,P2,P3,P4,P5,P6,P7},frequency为单位是MHz的整型数,voltage为浮点型的电压值。观察构造函数和析构函数的调用顺序。 2.定义一个简单的Computer类,有数据成员芯片(cpu)、内存(ram)、光驱(cdrom)等等,有两个公有成员函数run、stop。cpu为CPU类的一个对象,ram为RAM类的一个对象,cdrom 为CDROM类的一个对象,定义并实现这个类。 3. (选做)设计一个用于人事管理的People(人员)类。考虑到通用性这里只抽象出所有类型人员都具有的属性:number(编号)、sex(性别)、birthday(出生日期)、id(身份证号)等等。其中“出生日期”定义为一个“日期”类内嵌子对象。用成员函数实现对人员信息的录入和显示。要求包括:构造函数和析构函数、拷贝构造函数、内联成员函数、组合。 3.实验内容 1.首先定义枚举类型CPU_Rank,例如enum CPU_Rank{P1=1, P2, P3, P4, P5, P6, P7},再定义CPU类,包含等级(rank)、频率(frequency)、电压(voltage)等私有数据成员,定义成员函数run、stop,用来输出提示信息,在构造函数和析构函数中也可以输出提示信息。在主程序中定义一个CPU的对象,调用其成员函数,观察类对象的构造与析构顺序,以及成员函数的调用。程序名: 2.使用debug调试功能观察程序的运行流程,跟踪观察类的构造函数、析构函数、成员函数的执行顺序。 3.调试操作步骤如下: 1)单击Build | Start Debug | Step Into命令,或按下快捷键F11,系统进入单步执行状态,程序开始运行,一个DOS窗口出现,此时Visual Studio 中光标停在main()函数的入口处; 2)从Debug菜单或Debug工具栏中单击Step Over,此时,光标下移,程序准备执行CPU 对象的初始化; 3)单击Step Into,程序准备执行CPU类的构造函数; 4)连续单击Step Over,观察构造函数; 5)此时程序准备执行CPU对象的run()函数,单击Step Into,程序进入run()成员函数,连续单击Step Over,直到回到main()函数。 6)继续执行程序,参照上述的方法,观察程序的执行顺序,加深对类的构造函数、析构函数、成员函数的执行顺序的认识。 7)再试试Debug菜单栏中别的菜单项,熟悉Debug的各种方法。 4.首先定义CPU类(可使用第二题中的CPU类)、RAM类、CDROM类。再定义Computer类; C语言实验报告《函数》 C语言实验报告《函数》 学号: __________ 姓名: __________ 班级: __________ 日期: __________ 指导教师: __________ 成绩: __________ 实验四函数 一、实验目的 1、掌握函数定义、调用和声明的方法 2、掌握实参和形参之间的传递方式 3、函数的嵌套调用 二、实验内容 1、写一个函数,将两个字符串连接。(习题 8. 6) 2、编写一个函数,由实参传来一个字符串,统计此字符串中字母、数字、空格和其他字符的个数,在主函数中输入字符串以及输出上述的结果。(习题 8.9) 3、请将实验三中的实验内容三改正后,再改写成函数形式(排序部分)。物理实验报告·化学实验报告·生物实验报告·实验报告格式·实验报告模板 三、实验步骤与过程 四、程序调试记录 一、实验目的 1.观察植物细胞有丝分裂的过程,识别有丝分裂的不同时期。 初步掌握制作洋葱根尖有丝分裂装片的技能。 3.初步掌握绘制生物图的方法。 二、实验原理在植物体中,有丝分裂常见于根尖、茎尖等分生区细胞,高等植物细胞有丝分裂的过程,分为分裂间期和分裂期的前期、中期、后期、末期。可以用高倍显微镜观察植物细胞的有丝分裂的过程,根据各个时期细胞内染色体(或染色质)的变化情况,识别该细胞处于有丝分裂的哪个时期,细胞核内的染色体容易被碱性染料着色。 三、材料用具洋葱根尖、显微镜、载玻片、盖玻片、滴管、镊子、培养皿、铅笔、质量分数为15%的盐酸、体积分数为95%的酒精、质量分数为0.01gml的龙胆紫(或紫药水) 四、实验过程(见书P39) 1.洋葱根尖的培养(提前3—4天) 2.解离: 5min 3.漂洗: 10min 4.染色: 5min } 练习2:定义一个JavaScript函数calculator(),用于实现简单的计算器。在输入算式之后,单击计算,在该文本框中显示计算结果。 操作步骤如下: (1)在页面中添加用于输入要计算的算式的表单及表单元素。具体代码如下: C++上机实验报告实验三
C语言实验报告《函数》
实验6 JavaScript函数(2)实验报告