- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
尚辅网 尚辅网 第六章 函数 教学目标 熟悉结构化程序设计思想,了解自动变量、静态变量、外部变量、寄存器变量的概念和作用域;理解函数的概念; 掌握函数的定义、函数的形式参数和实际参数以及函数调用时的参数传递; 掌握函数嵌套调用的方法; 能够从总体出发,将待解决问题分解为子问题,最后分别用函数实现。 教学重点 问题的分解; 函数的定义与调用; 形参与实参的使用。 教学难点 参数传递。 scanf(%f,r); /*输入圆的半径*/ a=area(r); /*调用area 函数计算圆的面积*/ c=cir(r); /*调用cir函数计算圆的周长*/ printf(\nthe area is %f,the circumference is %f.,a,c); /*输出面积和周长*/ } float area(float rad) /* area函数定义*/ { float a; a=PI*rad*rad; return(a); } float cir(float rad) /* cir函数定义*/ { float c; c=2*PI*rad; return(c); } 知识点: (1)不管一个程序包含多少个函数、每个函数的定义位置在哪里,程序总是从main函数开始执行,而且在main函数中结束运行; (2)程序中出现函数调用语句时,程序转向被调函数的定义位置处执行,执行结束后,返回主调函数,从调用语句的下一条语句继续执行; (3)不管是系统提供的库函数,还是自己编写的函数,只有当它们存在时才能被调用; (4)调试程序时,为方便查错,经常单击F7键单步执行。 6.1.2函数定义 函数定义就是定义函数的功能,由返回值类型、函数名、形式参数列表和函数体组成。例如以下area函数的定义: float area(float rad) /*返回值类型、函数名(形式参数列表)构成函数头*/ {float a; /*数据声明语句*/ a=PI*rad*rad; /*执行语句*/ return(a); /*返回变量a的值 */ } 知识点: (1)area是函数名,应遵循标识符的命名规范,好的函数名能反映函数的功能。 (2)area()函数的返回值是的圆的面积,返回值类型是float型。 (3)rad是形式参数, area()函数只需主函数告诉它圆的半径,所以只定义了一个形参rad。“{}”中的部分是函数体,分为数据声明语句和执行语句如。如“float a;”是数据声明语句,“a=PI*rad*rad;”是执行语句。return语句的功能是结束本函数的运行,将“()”中的值返回主调函数。 (4)C程序由主函数和若干个自定义函数构成,自定义函数可以放在主函数前,也可以放在主函数后。为提高程序的可读性,习惯上常常把主函数放在所有自定义函数之前。 6.1.3函数声明 C函数分为标准库函数和用户自定义函数。 标准库函数调用前须在程序开头用“#include命令行”包含相应头文件;对于用户自定义的函数,如果函数调用在函数定义之前,则需在程序的开头进行声明。 6.1.4参数传递 函数定义时的参数称为形参,函数调用时的参数称为实参。例6-1中rad是形参,而主函数中定义并赋值的r是实参,参数传递就是在函数调用时将实参的值传递给形参。 6.1.5函数调用 函数调用就是在一个函数的函数体中调用另一个函数,如例6-1在main()函数中调用函数area()和cir()。 注意:实参与形参的个数、顺序和类型必须一致。 1.问题分析 问题分解由两个函数实现,主函数解决三个问题:1.输入成绩并判断是否为有效成绩(0-100);2.调用子函数将成绩划分等级;3.输出结果。算法流程如图6-5所示。 子函数解决两个问题:1.将成绩划分等级;2.将结果告诉主函数,如图6-6所示。 图6-5主函数的流程图 图6-6自定义函数的流程图 程序框架: char section(int score2); /*子函数声明*/ void main() /*主函数定义*/ { int score,flag=1; char grade; printf(\nPlease input a score:); while(flag) /*从键盘输入一个有效
您可能关注的文档
- 基础会计实训 教学课件 作者 李金茹 赵宁 温艳红 学习情境五.ppt
- 基础会计实训 教学课件 作者 李金茹 赵宁 温艳红 学习情境一.ppt
- 基础会计实训 项目二 记账凭证实训.pdf
- 基础会计实训 项目三 会计账簿实训.pdf
- 基础会计实训 项目四 会计报表实训.pdf
- 基础会计实训 项目五 会计基本账务处理综合实训.pdf
- 基础会计实训 项目一 原始凭证实训.pdf
- 基础会计习题集 教学课件 作者 周会林.doc
- 基础会计习题集 习题答案 作者 周会林 项目八答案.doc
- 基础会计习题集 习题答案 作者 周会林 项目二答案.doc
- 基于任务驱动的C语言程序设计 高职计算机大类专业 李祥林 课件 ch7.ppt
- 基于任务驱动的C语言程序设计 高职计算机大类专业 李祥林 课件 ch8.ppt
- 基于任务驱动的C语言程序设计 高职计算机大类专业 李祥林 课件 ch9.ppt
- 基于任务驱动的C语言程序设计 高职计算机大类专业 李祥林 课件 ch10.ppt
- 基于任务驱动的C语言程序设计 高职计算机大类专业 李祥林 实验任务书 实验二任务书.doc
- 基于任务驱动的C语言程序设计 高职计算机大类专业 李祥林 实验任务书 实验七任务书.doc
- 基于任务驱动的C语言程序设计 高职计算机大类专业 李祥林 实验任务书 实验三任务书.doc
- 基于任务驱动的C语言程序设计 高职计算机大类专业 李祥林 实验任务书 实验十任务书.doc
- 基于任务驱动的C语言程序设计 高职计算机大类专业 李祥林 实验任务书 实验一任务书.doc
- 基于三维设计的工程制图 教学课件 作者 霍光青第0章 绪论.ppt
文档评论(0)