资源简介 章节或项目名称 第八章 函数8.4本次授课类型 理论 □实验 □理实一体 □实训 □实习班级 地点 周次 星期 节次 授课进度二十三 2 5、6 符合 □超前 □滞后教学目标 1、掌握函数的嵌套调用 2、掌握函数的递归调用教学重点 函数的嵌套调用教学难点 函数的递归调用教学设计教学环节 内容要点 教学方法 与手段 时间 分配新课引入 请舍友打饭过程 案例法 10分钟新课介绍 函数的嵌套调用 知识讲授 引导启发 35分钟函数的递归调用实例演示 知识讲授 引导启发 10分钟函数的递归调用 知识讲授 引导启发 30分钟总结归纳 重点掌握函数的嵌套调用,难点为函数的递归调用。 归纳法 5分钟教学效果及改进思路一、新课引入请舍友打饭过程二、函数的嵌套调用1.函数嵌套的概念C语言中各函数之间是平行的,不存在上一级函数和下一级函数的问题。但是C语言允许在一个函数的定义中出现对另一个函数的调用,这样就出现了函数的嵌套调用。即在被调函数中又调用其它函数。其关系可表示如图8.1所示。图8.1 函数嵌套调用示意图2.函数嵌套的举例:利用函数嵌套实现程序设计,求1!+2!+…+10!。算法设计:编写求阶乘的函数fact;编写求和的函数sum(其中嵌套调用函数fact);编写主函数(其中调用函数sum);程序设计:int fact(int n){int f=1,i;for(i=1;i<=n;i++)f=f*i;return f;}int sum(int h){int i,s=0;for(i=1;i<=h;i++)s=s+fact(i);return s;}main(){int s;s=sum(10);printf("s=%d\n",s);}三、函数的递归调用实例演示古代有位侠客,路上遇见5个人,问第一个人多大年龄了,第一个人说比第二个人大2岁,又问第二个人多大年龄了,第二个人说比第三个人大2岁,又问第三个人多大年龄了,第三个人说比第四个人大2岁,又问第四个人多大年龄了,第四个人说比第五个人大2岁,又问第五个人多大年龄了,第五个人说20岁,侠客感觉到疑惑,怎样才能知道前四个人的年龄呢。旁边有个智者,告诉侠客,自后向前推算,第四个人应该是22岁,第三个人应该是24岁,第二个人应该是26岁,第一个人应该是28岁,这种调用过程称为函数的递归调用。四、函数的递归调用1.函数的递归概念一个函数在它的函数体内调用它自身称为递归调用,这种函数称为递归函数。C语言允许函数的递归调用。在递归调用中,主调函数又是被调函数。2.实例程序设计int age(int n){if(n==5) //第5个人return 20; //20岁elsereturn age(n+1)+2; //下一个人大2岁}main(){int s;s=age(1);printf("第一个人:%d岁\n",s);}五、总结归纳所学知识为:函数的嵌套调用、函数的递归调用。其中重点知识为函数的嵌套调用。难点知识为函数的递归调用。 展开更多...... 收起↑ 资源预览