7-5 函数嵌套调用和递归调用ppt课件.ppt
函数的递归调用函数的递归调用21函数的嵌套调用函数的嵌套调用小结小结3函数的嵌套调用是指在执行被调用函数时,被调用函数又调用了其他函数。函数之间的关系:函数之间的关系:程序从主函数开始执行;主函数可以调用其它函数;其它函数可以互相调用,但不能调用主函数。main() 调用调用fb( )fb( ) fa( )void fa( ) void fb( ) fa(); main( ) fb( );调用调用fa( )结束结束fa()fa()结束结束fb()fb()结束结束例:例:计算 s = 1k+ 2k+ 3k+ +Nk分析分析: : 分两个步骤来进行计算1)利用函数求某个数的k次方2)利用函数利用函数将第一步求出的结果进行累加。/* 此函数用于求n的k次方*/long f1(int n,int k) long power = n; for(int i= 1;ik;i+) power *= n; return power;/* 此函数用于求1的的k次方到次方到n的的k次方的和次方的和*/long f2(int n,int k) long sum = 0; for(int i = 1;i)#include int age(int n) int c; if(n=1) c=10; else c =age(n-1)+2; return c;void main() int result = age(5); printf(%d,result);递归调用思路:递归调用思路: 1、决定问题规模的参数。2、问题的边界条件及边界值。3、解决问题的通式。 计算计算n的阶乘的阶乘f(n) = 1 (n=1) n*(n-1)! (n1)/* 此函数用于计算 n 的阶乘 */int f(int n) if (n 0) printf(“a0,数据错误!数据错误!”); else if (n=0)|(n=1) return 1; else n = n * f(n-1); return n; 函数的嵌套调用是指在执行被函数的嵌套调用是指在执行被调用函数时,被调用函数又调用了调用函数时,被调用函数又调用了其他函数。其他函数。 函数直接或间接的调用自身叫函数直接或间接的调用自身叫函数的递归调用。函数的递归调用。