C++ 递归函数和递归调用
教程导读
学研发网的这篇信息学奥赛技术教程文章主要介绍了C++ 递归函数和递归调用,现在分享给大家,供学习和参考。文章包含1122字,纯文字阅读大概需要3分钟。
教程信息
学习目标
掌握递归函数
掌握递归调用
掌握教程练习题目
函数自己调用自己,就叫做函数的递归调用。
void shuChu(int i){ cout << "输出内容的函数" << i << endl; //自己调用自己,就是递归 shuChu(i); } int main(){ shuChu(100); }
在递归调用的时候,要特别注意递归的终止,如果没有终止,那么函数会无限的递归调用下去,类似死循环一样。
没有终止条件,就会无限的递归调用下去。
一、递归要素
所以,如果一个函数是递归函数,那么一定要注意两点:
1、终止条件:递归停止条件,否则会无线循环;
2、递归条件:函数调用自己的条件;
void shuChu(int i){ cout << "输出内容的函数" << i << endl; // 变量调整 i--; //递归停止条件 if(i < 0){ //终止递归 return ; }else{ //自己调用自己,就是递归 shuChu(i); } } int main(){ shuChu(100); }
二、代码案例
输入一个数字 n ,计算 1 到 n 的和。
// for 循环求和 int qiuHe(int n){ int a = 0; for(int i = 1; i <= n; i++){ a = a + i; } return a; }
也可以使用递归实现
int qiuHe(int n){ int t = 0; if(n == 1){ return 1; }else{ t = n + qiuHe(n-1); } return t; } //main函数 int main(){ int a = qiuHe(5);//开始调用递归函数 return 0; }
函数调用过程,在main函数中调用 qiuHe(5);
qiuHe(5) = 5 + qiuHe(4);
qiuHe(4) = 4 + qiuHe(3);
qiuHe(3) = 3 + qiuHe(2);
qiuHe(2) = 2 + qiuHe(1);
也就是:5 + 4 + 3 + 2 + 1
调用的时候,是从上往下依次调用,当到 qiuHe(1) 时直接返回的是 1,所以到这里就终止了,然后把这个值依次向上返回,进行相加。
可以使用 for 循环的地方通常也可以使用递归来解决,有的使用for循环更方便,有的使用递归更简洁。
教程咨询
如果章节内容看不懂,可以联系作者。
教程总结
以上是学研发网为您提供C++ 递归函数和递归调用的全部内容,希望教程文章能够帮你了解学习C++ 递归函数和递归调用,解决所遇到的问题。 如果觉得学研发网信息学奥赛教程内容还不错,欢迎将学研发网网站推荐给身边需要的人。
教程备注
版权声明:教程内容为学研发网整理和编写,如需转载请联系站长并附上文章原始链接和原始作者信息。
手机阅读
扫描二维码推送至手机访问。
本文链接:http://www.xueyanfa.com/xinaojiaocheng/xinaocpp-83.html