多函数程序设计省公开课金奖全国赛课一等奖微课获奖PPT课件

上传人:蓝****B 文档编号:365321582 上传时间:2023-10-22 格式:PPTX 页数:71 大小:256.39KB
返回 下载 相关 举报
多函数程序设计省公开课金奖全国赛课一等奖微课获奖PPT课件_第1页
第1页 / 共71页
多函数程序设计省公开课金奖全国赛课一等奖微课获奖PPT课件_第2页
第2页 / 共71页
多函数程序设计省公开课金奖全国赛课一等奖微课获奖PPT课件_第3页
第3页 / 共71页
多函数程序设计省公开课金奖全国赛课一等奖微课获奖PPT课件_第4页
第4页 / 共71页
多函数程序设计省公开课金奖全国赛课一等奖微课获奖PPT课件_第5页
第5页 / 共71页
点击查看更多>>
资源描述

《多函数程序设计省公开课金奖全国赛课一等奖微课获奖PPT课件》由会员分享,可在线阅读,更多相关《多函数程序设计省公开课金奖全国赛课一等奖微课获奖PPT课件(71页珍藏版)》请在金锄头文库上搜索。

1、上次作业中问题上次作业中问题思绪不清,尤其是迭代法思绪不清,尤其是迭代法两种了解:两种了解:两种了解:两种了解:1.1.计算完这一次,还要为下一次准备数据。计算完这一次,还要为下一次准备数据。计算完这一次,还要为下一次准备数据。计算完这一次,还要为下一次准备数据。2.2.每次都要完成工作,除了按照迭代公式(方法)每次都要完成工作,除了按照迭代公式(方法)每次都要完成工作,除了按照迭代公式(方法)每次都要完成工作,除了按照迭代公式(方法)处理数据以外,还有其它步骤。处理数据以外,还有其它步骤。处理数据以外,还有其它步骤。处理数据以外,还有其它步骤。对于多重穷举,要一层一层地来,别忘对于多重穷举,

2、要一层一层地来,别忘了在循环体中加上必要了在循环体中加上必要1解析C程序设计第2章 简单程序设计1/71第第第第5 5部分部分部分部分多函数程序设计多函数程序设计10/21/20232解析C程序设计第2章 简单程序设计2/71本讲重点本讲重点掌握多函数程序设计方法掌握多函数程序设计方法了解为何定义多函数?了解为何定义多函数?了解为何定义多函数?了解为何定义多函数?函数定义、调用、申明格式函数定义、调用、申明格式函数定义、调用、申明格式函数定义、调用、申明格式了解函数调用过程(程序执行过程)了解函数调用过程(程序执行过程)了解函数调用过程(程序执行过程)了解函数调用过程(程序执行过程)了解递归函

3、数执行过程了解递归函数执行过程了解递归函数执行过程了解递归函数执行过程掌握变量作用域和存放类型两个概念掌握变量作用域和存放类型两个概念掌握变量作用域和存放类型两个概念掌握变量作用域和存放类型两个概念掌握带参数宏定义使用方法,以及与函数区掌握带参数宏定义使用方法,以及与函数区掌握带参数宏定义使用方法,以及与函数区掌握带参数宏定义使用方法,以及与函数区分分分分能够熟练编写多函数程序能够熟练编写多函数程序3解析C程序设计第2章 简单程序设计3/71先看一个大型实例先看一个大型实例程序结构:程序结构:编译预处理命令编译预处理命令编译预处理命令编译预处理命令其它必要定义其它必要定义其它必要定义其它必要定

4、义其它函数申明其它函数申明其它函数申明其它函数申明主函数主函数主函数主函数其它函数定义其它函数定义其它函数定义其它函数定义结论:结论:C C程序是由很多个函数组成。程序是由很多个函数组成。程序是由很多个函数组成。程序是由很多个函数组成。C C语言中关于函数有三个主要内容:语言中关于函数有三个主要内容:语言中关于函数有三个主要内容:语言中关于函数有三个主要内容:函数定义函数定义函数定义函数定义 函数调用函数调用函数调用函数调用 函数申明函数申明函数申明函数申明4解析C程序设计第2章 简单程序设计4/71为何定义函数?为何定义函数?大型任务总要由多人完成,所以,在编大型任务总要由多人完成,所以,在

5、编程之前,一定要将任务划分成多个功效程之前,一定要将任务划分成多个功效独立独立模块模块,再分别分配给多个程序分别,再分别分配给多个程序分别编程实现。编程实现。函数能够函数能够复用复用,以节约开发时间。每个,以节约开发时间。每个函数,就象一块雕刻好积木,能够直接函数,就象一块雕刻好积木,能够直接用来构建新程序。用来构建新程序。5解析C程序设计第2章 简单程序设计5/71模块化几个标准模块化几个标准模块分解标准模块分解标准确保模块相对独立性确保模块相对独立性确保模块相对独立性确保模块相对独立性 高聚合:一个模块只能完成单一功效,代码普高聚合:一个模块只能完成单一功效,代码普高聚合:一个模块只能完成

6、单一功效,代码普高聚合:一个模块只能完成单一功效,代码普通几十行。通几十行。通几十行。通几十行。低耦合:指模块之间参数传递尽可能少,尽可低耦合:指模块之间参数传递尽可能少,尽可低耦合:指模块之间参数传递尽可能少,尽可低耦合:指模块之间参数传递尽可能少,尽可能不经过全局变量来实现数据传递能不经过全局变量来实现数据传递能不经过全局变量来实现数据传递能不经过全局变量来实现数据传递信息隐藏信息隐藏信息隐藏信息隐藏 把全部用户不需要关心细节隐藏至模块内部。把全部用户不需要关心细节隐藏至模块内部。把全部用户不需要关心细节隐藏至模块内部。把全部用户不需要关心细节隐藏至模块内部。6解析C程序设计第2章 简单程

7、序设计6/71我们怎么做?我们怎么做?关键是怎样关键是怎样分段分段。比较独立、完整功效分为一个函数,普通函比较独立、完整功效分为一个函数,普通函比较独立、完整功效分为一个函数,普通函比较独立、完整功效分为一个函数,普通函数十几行。数十几行。数十几行。数十几行。函数定义时注意与被调函数之间沟通与联络,函数定义时注意与被调函数之间沟通与联络,函数定义时注意与被调函数之间沟通与联络,函数定义时注意与被调函数之间沟通与联络,即参数传递与返回两个方向数据流动。即参数传递与返回两个方向数据流动。即参数传递与返回两个方向数据流动。即参数传递与返回两个方向数据流动。在讲例题时候请注意这两点在讲例题时候请注意这

8、两点7解析C程序设计第2章 简单程序设计7/71例例1:定义一个函数,求梯形面积:定义一个函数,求梯形面积先完成一个数学函数定义:先完成一个数学函数定义:s(a,b,h)=(a+b)*h/2自变量自变量自变量自变量函数名函数名函数名函数名函数公式函数公式函数公式函数公式编写函数必须考虑三个内容:编写函数必须考虑三个内容:先来考虑这个任务需要什么必要数据,都是什么先来考虑这个任务需要什么必要数据,都是什么先来考虑这个任务需要什么必要数据,都是什么先来考虑这个任务需要什么必要数据,都是什么类型?(类型?(类型?(类型?(形式参数形式参数形式参数形式参数)有没有结果,结果又是什么类型?(有没有结果,

9、结果又是什么类型?(有没有结果,结果又是什么类型?(有没有结果,结果又是什么类型?(返回值返回值返回值返回值)应该完成什么功效?怎样实现?(应该完成什么功效?怎样实现?(应该完成什么功效?怎样实现?(应该完成什么功效?怎样实现?(函数功效函数功效函数功效函数功效)8解析C程序设计第2章 简单程序设计8/71分析结果分析结果/*/*函数函数函数函数功效功效功效功效:求梯形面积:求梯形面积:求梯形面积:求梯形面积函数函数函数函数形式参数形式参数形式参数形式参数:float afloat a表示上底表示上底表示上底表示上底float bfloat b表示下底表示下底表示下底表示下底float hfl

10、oat h表示高表示高表示高表示高 函数函数函数函数返回值返回值返回值返回值:梯形面积(:梯形面积(:梯形面积(:梯形面积(floatfloat类型)类型)类型)类型)*/9解析C程序设计第2章 简单程序设计9/71包括语法包括语法函数定义函数定义格式格式/*/*函数功效:实现函数功效:实现函数功效:实现函数功效:实现功效功效功效功效 函数形式参数:参数函数形式参数:参数函数形式参数:参数函数形式参数:参数1 1,表示,表示,表示,表示 参数参数参数参数2 2,表示,表示,表示,表示 .函数返回值:函数返回值:函数返回值:函数返回值:*/返回值类型返回值类型返回值类型返回值类型 函数名函数名函

11、数名函数名(形式参数列表形式参数列表形式参数列表形式参数列表)函数体函数体函数体函数体 养成注释养成注释养成注释养成注释好习惯:好习惯:好习惯:好习惯:10解析C程序设计第2章 简单程序设计10/71函数定义函数定义/*/*函数功效:求梯形面积函数功效:求梯形面积函数功效:求梯形面积函数功效:求梯形面积函数参数:函数参数:函数参数:函数参数:float a float a表示上底,表示上底,表示上底,表示上底,float bfloat b表示下表示下表示下表示下底底底底,float h,float h表示高表示高表示高表示高 函数返回值:梯形面积函数返回值:梯形面积函数返回值:梯形面积函数返回

12、值:梯形面积*/*/float Area(float a,float b,float h)float Area(float a,float b,float h)int s=(a+b)*h/2;int s=(a+b)*h/2;return s return s;三个三个三个三个形式参数形式参数形式参数形式参数返回值返回值返回值返回值类型类型类型类型函数名称:普通首字母大写函数名称:普通首字母大写函数名称:普通首字母大写函数名称:普通首字母大写返回语句返回语句返回语句返回语句函数体函数体函数体函数体函数定义相当于建立一个函数定义相当于建立一个函数定义相当于建立一个函数定义相当于建立一个s(a,b,

13、h)=(a+b)*h/2s(a,b,h)=(a+b)*h/2这么一个函数形式化表这么一个函数形式化表这么一个函数形式化表这么一个函数形式化表示示示示,此时此时此时此时没有详细数值没有详细数值没有详细数值没有详细数值,只有,只有,只有,只有代入数值代入数值代入数值代入数值才能才能才能才能计算出数值。计算出数值。计算出数值。计算出数值。11解析C程序设计第2章 简单程序设计11/71在在main函数中怎样函数中怎样调用调用呢?呢?#include#includefloat Area(float,float,float);/*float Area(float,float,float);/*函数申明:

14、普通写在最前面函数申明:普通写在最前面函数申明:普通写在最前面函数申明:普通写在最前面*/*/*/*下面是下面是下面是下面是AreaArea函数定义函数定义函数定义函数定义*/*/float Area(float a,float b,float h)/*float Area(float a,float b,float h)/*函数头部,无分号函数头部,无分号函数头部,无分号函数头部,无分号*/*/return(a+b)*h/2;return(a+b)*h/2;/*Area/*Area函数定义结束函数定义结束函数定义结束函数定义结束*/*/void main()void main()/*/*定义

15、定义定义定义mainmain函数函数函数函数*/*/float a,b,h,area float a,b,h,area;/*;/*为区分函数与变量,普通变量是全小写为区分函数与变量,普通变量是全小写为区分函数与变量,普通变量是全小写为区分函数与变量,普通变量是全小写*/*/printf(please input a,b,h:);printf(please input a,b,h:);scanf(%f%f%f,&a,&b,&h);/*scanf(%f%f%f,&a,&b,&h);/*假设输入数据是假设输入数据是假设输入数据是假设输入数据是1,2,3*/1,2,3*/area=area=Area(

16、a,b,h);Area(a,b,h);/*/*函数调用函数调用函数调用函数调用,相当于数学函数代入,相当于数学函数代入,相当于数学函数代入,相当于数学函数代入,a,b,ha,b,h有确切数值,所以称为有确切数值,所以称为有确切数值,所以称为有确切数值,所以称为实参实参实参实参,函数返回值赋值给,函数返回值赋值给,函数返回值赋值给,函数返回值赋值给area,area,相当于计相当于计相当于计相当于计算算算算area=Area(1,2,3)*/area=Area(1,2,3)*/printf(area=%fn,area);printf(area=%fn,area);请注意请注意函数申明、函数申明、函数定义和函数函数定义和函数调用调用详细语法格详细语法格式式12解析C程序设计第2章 简单程序设计12/71运行过程运行过程#include#includefloat s(float,float,float);/*float s(float,float,float);/*函数申明函数申明函数申明函数申明*/*/float s(float a,float b,float h)float s(floa

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 初中教育

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号