【了解】递归函数概述及构成条件
递归函数: 在函数的内部存在调用当前函数本身的语句,这个函数就是递归函数 递归调用: 递归函数中,调用自己的操作,递归调用 递归调用注意: 1)主调函数就是被调函数 2)在递归函数中应该存在能够让递归结束的条件 构成递归的条件: 1)存在自己调用自己 2)存在一个条件 ,能够让递归结束(否则,是死循环) n==1 age = 10 3)能够找到一个规律,让要解决的问题的规模缩小 递归的阶段: 1)递推阶段 内存栈的特点:先进后出, 2)回归迭代阶段 迭代计算,一步步迭代返回值
1 #include <stdio.h> 2 3 4 //定义一个函数 5 //计算年龄的方法 6 int getAge(int n){ 7 8 int age; 9 //如果 n == 1 年龄是10 10 if (n==1) { //到这步执行的时候就是迭代计算阶段 11 //n==1 表示第一个人,他的年龄是10 12 age = 10; 13 }else{ 14 //如果不是第一个人,当前这个人得年龄 = 前一个人(n-1)得年龄+2 15 age = getAge(n-1)+2; //递推阶段 16 } 17 18 return age; 19 20 } 21 22 23 int main(int argc, const char * argv[]) { 24 25 int age = getAge(5); 26 printf("age = %d\n",age); 27 28 return 0; 29 }
age = 18
---------------------------------------------
【理解】递归应用举例
用递归法求n的阶乘
时间: 2024-11-05 18:57:12