c语言--函数的递归调用.ppt
《c语言--函数的递归调用.ppt》由会员分享,可在线阅读,更多相关《c语言--函数的递归调用.ppt(17页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、2第五章 函数计算机科学系计算机科学系 陈垚陈垚2我们先看这样一个例子:v说有一只调皮的小猴子说有一只调皮的小猴子,摘了一堆水果摘了一堆水果,第一天第一天吃了水果的一半吃了水果的一半,又多吃了一个又多吃了一个;第二天吃了剩第二天吃了剩下水果的一半下水果的一半,又多吃了一个又多吃了一个;依次类推依次类推.到第到第十天十天,发现只剩下了发现只剩下了1个水果个水果,请问这只猴子到请问这只猴子到底摘了多少个水果底摘了多少个水果?3第五章 函数计算机科学系计算机科学系 陈垚陈垚35.4 函数递归调用函数递归调用 后一部分与原始问题类似后一部分与原始问题类似 后一部分是原始问题的简化后一部分是原始问题的简
2、化1、定义:调用一个函数时直接或间接调用自身、定义:调用一个函数时直接或间接调用自身, 称之为称之为函数的递归函数的递归。2、一个问题能够成为递归必须具备的条件是:、一个问题能够成为递归必须具备的条件是:许多数学函数都是用递归的形式定义的:许多数学函数都是用递归的形式定义的:) 1()!1() 1 , 0(1!nnnnn)0()0(11nxxnxnn4第五章 函数计算机科学系计算机科学系 陈垚陈垚41. 直接递归调用:直接递归调用:函数直接调用本身函数直接调用本身2. 间接递归调用:间接递归调用:函数间接调用本身函数间接调用本身5第五章 函数计算机科学系计算机科学系 陈垚陈垚5v说明说明C语言
3、对递归函数的自调用次数没有限制语言对递归函数的自调用次数没有限制必须有递归结束条件必须有递归结束条件 int f(x) int x ; int y, z ; z =f(y) ; return(2*z) ; int f1(x)int x ; int y, z ; z =f2(y) ; return(2*z) ; int f2(t)int t ; int a, c ; c =f1(a) ; return(3+c) ; 6第五章 函数计算机科学系计算机科学系 陈垚陈垚6 思考如下问题:思考如下问题:例例1: 有有5个人坐在一起个人坐在一起,问第问第5个人多少岁个人多少岁,他说比第他说比第4个人大个人
4、大2岁岁;问第问第4个人岁数个人岁数,他说比他说比第第3个人大个人大2岁岁;问第问第3个人个人,又说比第又说比第2个大个大2岁岁;问第问第2个人,说比第个人,说比第1个人大个人大2岁;最后问第岁;最后问第1个人,他说他个人,他说他10岁;请问第岁;请问第5个人多大个人多大?比她大比她大2岁岁比她大比她大2岁岁比她大比她大2岁岁比她大比她大2岁岁我我10岁岁7第五章 函数计算机科学系计算机科学系 陈垚陈垚7age(5)=16+2=18age(4)=14+2=16age(3)=12+2=14age(2)=10+2=12age(5)=age(4)+2age(4)=age(3)+2age(3)=age
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 函数 递归 调用
限制150内