c++函数基本知识以及函数调用与递归调用

c++函数基本知识。函数可以分成两个部分来说明,分别是函数头,函数体。

参数列表的写法是类型 + 参数名称,每两个参数之间使用逗号隔开。

参数可以是任意类型,可以是基础数据类型,可以是指针,也可以是结构体类型。

在函数调用的时候,依照函数定义时参数列表的顺序依次传入想要传入的值。在使用的时候,参数的顺序不可以改变。不能颠倒参数的顺序,如果颠倒,则可能发生语法错误,或者进行数据类型的隐式转换。

 c++ 允许函数为调用者返回一个量,在这个求平均数的例子中,返回值就是求平均数之后的结果。 

调用。在 C++ 中我们通过函数将某个功能部分做成一个模块。下面是一个小例子展示调用函数

#include<iostream>
using namespace std;
int avg(int a,int b){
    return (a+b)/2;
}
int main(){
    int x = 20;
    int y = 30;
    int z = avg(x,y);
    cout<<z<<endl;
    return 0;
}

上面的代码中,我们就把计算平均数做成了一个函数,avg函数,在使用的时候,只需要直接调用

这个函数就行了,而不用去了解平均数的计算方式。

递归调用。在 C++ 中,可以在一个函数中调用另外一个函数,那么,这个函数调用自己就成为递归调用。看一个小例子:

#include<iostream>
using namespace std;
int func(int n)
{
    if (n == 1) {
        return 1;//表示异常,结束调用,不进行后面的语句
    }
    else {
        return n * func(n - 1);//递归调用
    }
}
int main() {
    int a = 5;
    int res = func(a);
    cout << res << endl;//输出结果
    return 0;
}

递归调用的三要素,如下:

1. 递归的终止条件是什么?

这是非常重要的,在递归中,我们必须要设计好这一点,那就是递归什么时候停止。否则就会像前面的例子一样,直接爆栈。

2. 递归被分解后最基本操作是什么?

递归非常适合层级调用关系,每一层都执行相同的操作,这个要素,就是要提取出递归最核心的要素。

3. 递归调用传递的参数

这里传递的参数其实除了参数列表,还包括返回值。参数列表表示给下一层调用需要传递什么,返回值表示上一层调用需要返回什么。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值