资源描述
,C,语言程序设计,单击此处编辑母版标题样式,*,*,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,软件技术专业国家教学资源库建设项目,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,C,语言程序设计,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,C,语言程序设计,C语言程序设计,学完本节后,你能够,课程目标,理解函数的递归调用,函数的,递归调用,能够使用递归思想分析问题、解决问题;,学完本节后,你能够课程目标理解函数的递归调用函数的 能,递归,从前有座山,山上有座庙,庙里有一个老和尚和一个小和尚,老和尚正在给小和尚讲故事。讲的是什么故事呢?他说,从前有座山,递归 从前有座山,山上有座庙,庙里有一个老和尚和,函数的递归调用,函数的,递归调用,:,直接递归调用,指函数直接调用自己,;,间接递归调用,调用另外一个函数的过程中出现,调用该函数自身。,函数的递归调用 函数的递归调用:,使用递归调用解决问题的方法:,函数的递归调用,以同样的方式分别去处理各个子问题;,把问题划分为若干个子问题,把各个子问题的处理结果综合起来,形成最终的处理结果。,划分,解决,组合,使用递归调用解决问题的方法:函数的递归调用以同样的方式分别去,递归调用过程(两个阶段),1,、递推阶段,。,2,、回归阶段,。,函数的递归调用,递归调用过程(两个阶段)函数的递归调用,【,例,4-7】,:,用递归法求,n!,【,例,4-8】,:,汉诺塔,函数的递归调用,【例4-7】:用递归法求n!【例4-8】:汉诺塔函数的递归,函数的递归调用,在语法上(,简单,),递归即为普通的函数调用。,在算法上(,难,),如何找到,递归形式,?,如何找到,递归边界,?,函数的递归调用在语法上(简单),【,课堂实践,4-4】,斐波那契数列指的是这样一个数列:,1,、,1,、,2,、,3,、,5,、,8,、,13,、,21,、,这个数列从第三项开始,每一项都等于前两项之和。求斐波那契数列的第,20,项。,课堂实践,【课堂实践4-4】斐波那契数列指的是这样一个数列:1、1、,编写一个计算器程序,要求可以根据菜单显示,实现简单的整数的加、减、乘、除功能。,分别输入,1,2,3,4,进行相应的加、减、乘、除运算。若输入,0,,则退出程序。,引例描述,编写一个计算器程序,要求可以根据菜单显示,,分析,1,、如何,实现菜单操作,?,2,、如何,实现各计算函数,?,引例分析与实现,分析1、如何实现菜单操作?2、如何实现各计算函数?引例分析与,总结,递归的过程。,函数的递归调用。,类似引例问题的分析与实现。,使用递归解决问题。,总结递归的过程。函数的递归调用。类似引例问题的分析与实现。使,再 见,再 见,
展开阅读全文