12 函数声明、函数嵌套调用、递归函数、数组做函数参数

12 函数声明、函数嵌套调用、递归函数、数组做函数参数

ID:40738802

大小:70.50 KB

页数:4页

时间:2019-08-07

12 函数声明、函数嵌套调用、递归函数、数组做函数参数_第1页
12 函数声明、函数嵌套调用、递归函数、数组做函数参数_第2页
12 函数声明、函数嵌套调用、递归函数、数组做函数参数_第3页
12 函数声明、函数嵌套调用、递归函数、数组做函数参数_第4页
资源描述:

《12 函数声明、函数嵌套调用、递归函数、数组做函数参数》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、教学内容:函数声明、函数嵌套调用、递归函数、数组做函数参数教学目标1.掌握函数声明的格式2.理解函数嵌套调用的过程3.理解函数递归调用的过程;掌握常用递归函数的编写4.掌握数组名作为函数参数的应用重点难点1.函数的递归调用2.数组名作为函数参数教学方法与手段1.讲授、实验法2.多媒体教学内容及教学过程一.函数的声明n如果使用自己定义的函数,而该函数的位置在调用它的函数后面,应该声明示例说明:输入两个实数,用一个函数求出它们之和。#includeintmain(){floatadd(floatx,floaty);//函数声明语句floata,b,c;printf

2、("Pleaseenteraandb:");scanf("%f,%f",&a,&b);c=add(a,b);printf("sumis%f",c);return0;}floatadd(floatx,floaty){floatz;z=x+y;return(z);}n函数声明的形式:floatadd(floatx,floaty);floatadd(float,float);二.函数的嵌套调用uC语言的函数定义是互相平行、独立的u即函数不能嵌套定义u但可以嵌套调用函数u即调用一个函数的过程中,又可以调用另一个函数三.函数的递归调用1、函数递归调用的概念在调用一个函数的过程中又出现

3、直接或间接地调用该函数本身,称为函数的递归调用2、递归函数示例age(5)=age(4)+2age(4)=age(3)+2age(3)=age(2)+2age(2)=age(1)+2age(1)=10递归的两个阶段:回溯阶段和递推阶段#includeintmain(){intage(intn);printf("NO.5,age:%d",age(5));return0;} intage(intn){intc;if(n==1)c=10;elsec=age(n-1)+2;return(c);}3、用递归方法求n!intfac(intn){intf;if(n<0)

4、printf("n<0,dataerror!");elseif(n==0

5、

6、n==1)f=1;elsef=fac(n-1)*n;return(f);}l注意溢出4、Hanoi塔问题介绍Hanoi塔问题的设计思路,理解算法思想即可。四.数组作函数参数1、数组元素作函数参数数组元素作函数参数与普通变量作函数参数效果相同,实参将值传递给形参。用数组元素作实参时,向形参变量传递的是数组元素的值2、数组名作函数参数用数组名作函数实参时,向形参传递的是数组首元素的地址floataverage(floatarray[],intn){inti;floataver,sum=array[0];fo

7、r(i=1;i

8、;i++)for(j=0;j<4;j++)if(array[i][j]>max)max=array[i][j];return(max);}单元小结回顾函数的概念,引入函数声明的方式。讲解函数嵌套调用的过程。通过几个实例阐述函数递归调用的过程:回溯和递推;了解Hanoi塔问题的设计思想。掌握数组元素作函数参数,数组名作函数参数,多维数组作函数参数时参数传递情况。学生作业1、概念理解阅读教材,熟悉函数递归调用的过程;数组名作函数参数的作用。2、编程P2184、11、13、14、17

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

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

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