首页 理论教育 C++语言:函数调用

C++语言:函数调用

时间:2023-08-13 理论教育 版权反馈
【摘要】:用户自定义函数的调用与标准函数一样,不同的是,标准函数可以用在不同的程序中,而自定义函数只限于在定义它的程序中使用。例7-3设计一个求阶乘的函数,计算3!。可见函数调用方式与标准函数调用方式相同。函数调用一般形式为:函数名函数调用必须出现在表达式中。调用函数的步骤:首先在主程序中计算实参的值,传递给所调用函数中对应的形参,其次执行函数体,最后将函数值返回给主程序。

C++语言:函数调用

用户自定义函数的调用与标准函数一样,不同的是,标准函数可以用在不同的程序中,而自定义函数只限于在定义它的程序中使用。下面通过例题看如何调用函数。

例7-3 设计一个求阶乘的函数,计算3!。

程序:

程序的运行结果为3的阶乘:6。

可见函数调用方式与标准函数调用方式相同。

函数调用一般形式为:

函数名(实际参数表)

(1)函数调用必须出现在表达式中。

(2)实际参数简称实参。在调用函数时,实参将值赋给相应的形参,因此实参的个数、类型应与形参一一对应,并且要有确定的值。

(3)调用函数的步骤:首先在主程序中计算实参的值,传递给所调用函数中对应的形参,其次执行函数体,最后将函数值返回给主程序。

例7-4 求图7-1中的五边形面积,边长及对角线长a1~a7由键盘输入。

分析:求五边形面积可以变成求3个三角形面积之和,在这个程序中要计算3次三角形面积,为程序简单起见,可将计算三角形面积定义成函数,然后在主程序中调用3次,并相加,得到五边形面积。

图7-1 五边形

三角形面积公式(海伦公式)为:

其中,a、b、c为三角形三条边长,p为半周长,即p=(a+b+c)/2。(www.xing528.com)

程序如下:

例7-5 求正整数m和n的最大公约数。

分析:利用欧几里得“辗转相除”算法求m、n两数的最大公约数。

具体方法是:若m是n的倍数,那么m、n的最大公约数就是n;否则反复利用下面的原理:设r是m除以n的余数(即r=m mod n),那么m和n的最大公约数等于n和r的最大公约数。即当m不能整除n时,先求出r=m mod n,再将n赋值于m,将r赋值于n,继续计算r=m mod n,直到余数为0止,此时的除数就是两个数的最大公约数。

若m=36、n=28,过程示例如表7-1所列。

表7-1 例7-5计算过程

程序实现如下:

运行结果如下。输入:

输出:

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈