C语言第十一讲.ppt

C语言第十一讲.ppt

ID:49252417

大小:164.00 KB

页数:11页

时间:2020-02-02

C语言第十一讲.ppt_第1页
C语言第十一讲.ppt_第2页
C语言第十一讲.ppt_第3页
C语言第十一讲.ppt_第4页
C语言第十一讲.ppt_第5页
资源描述:

《C语言第十一讲.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、C语言电子教案(十一)第十一讲第八章函数主要内容:§8.5函数的嵌套调用§8.6函数的递归调用1§8.5函数的嵌套调用嵌套调用:在调用一个函数的过程中又调用了另外一个函数,叫作函数的嵌套调用。嵌套调用的执行过程:从什么地方调用函数,就返回到什么地方。2函数的调用main()函数fun1()函数fun2()函数...调用函数fun1①②⑦....调用函数fun2③④⑤⑧⑥⑨结束3函数的嵌套调用main()函数....调用函数fun1①⑨②fun1()函数③....调用函数fun2④fun2()函数⑤⑥⑦⑧结束4函

2、数的嵌套调用举例—求cnmlongfact(intt){inti;longs=1;for(i=1;i<=t;i++)s*=i;return(s);}longc(intx,inty){longf;f=fact(x)/(fact(y)*fact(x-y));return(f);}main(){intm,n,t;scanf("%d%d",&m,&n);if(n>m){t=m;m=n;n=t;}printf("%ld",c(m,n));}返回c函数在main函数中调用c函数在c函数中三次调用fact函数返回main

3、函数函数fact的功能是求形参t的阶乘运行程序5§8.6函数的递归调用递归调用:在调用一个函数的过程中又直接或间接地调用该函数本身,叫作函数的递归调用。递归调用应注意的问题:要防止无限次的递归调用。防止无限递归调用的方法:使用if语句设置一个递归过程结束的条件,且在递归过程中使该条件逐步趋于成立6递归调用举例—年龄问题age(intn){intc;if(n==1)c=10;elsec=age(n-1)+2;return(c);}main(){printf("%d",age(5));}递归结束的条件调用过程中

4、又调用了自身函数age的功能是求第n个人的年龄运行程序7age(5)c=age(4)+2c=age(3)+2c=age(2)+2c=age(1)+2c=10 (age(1))c=12 (age(2))c=14 (age(3))c=16 (age(4))c=18 (age(5))返回main函数8递归程序应用举例2main(){intw=5;fun(w);printf("");}fun(intk){if(k>0)fun(k-1);printf("%d",k);}运行程序9递归程序应用举例2fun(5)fun(

5、4)fun(3)fun(2)fun(1)输出0输出1输出2输出3输出4返回main函数fun(0)输出5fun(intk){if(k>0)fun(k-1);printf("%d",k);}10其它可以使用递归方法解决的问题求阶乘:longf(intn){longintt;if(n==0

6、

7、n==1)t=1;elset=f(n-1)*n;return(t);}Fabonacci数列:longfab(intn){longintt;if(n==1

8、

9、n==2)t=1;elset=f(n-1)+f(n-2);retur

10、n(t);}猴子吃桃子问题11

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。