- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第5章 函数 * 5.1函数概述 5.2 函数的分类 5.3 函数的定义和调用 5.4 函数的返回值 5.5 函数的参数及参数的传递 5.6 函数的嵌套与递归调用 5.7变量的作用域和存储类型 5.8 综合实例 结构化程序设计方法,从程序实现的角度看就是模块化程序设计,就是将程序模块化,即在程序设计中通常将一个大的程序按功能进行分割成一些模块,使每个模块都成为功能单一、结构清晰、接口简单、容易理解的小程序。在C语言中是通过函数来实现模块化程序设计的,即将那些较小的功能单一的程序模块称之为函数,通过对函数的调用实现特定的功能。所以较大的C语言应用程序,往往是由多个函数组成的,每个函数分别对应各自的功能模块,通过函数的定义把实现的细节封闭起来,通过函数调用组合各种功能。 C语言提供以下一些功能来支持模块化软件开发: (1)函数式的程序结构。程序整体由一个或多个函数组成。 (2)允许通过使用不同存储类别的变量,控制模块内部及外部的信息交换。 (3)具有编译预处理功能,为程序的调试、移植提供了方便。 5.1函数概述 用C语言设计程序来求解任何一个问题时,主要任务就是编写函数。 进行C程序设计时一般采用自顶向下、逐步细化的方法设计程序结构,即先集中考虑main函数中的算法。当main函数中需要使用某一功能时,就先写上一个调用具有该功能的函数的表达式。这时只需知道函数具有什么功能,如何与程序通信(输入什么,输出什么),函数的具体实现先不去处理。设计完main( )函数的算法并检验无误后,再开始考虑它所调用函数的具体实现。在这些被调用的函数中,若在库函数中可以找到,那就直接使用,否则就动手设计这些函数。 【例5.1】分别求两个长方形的面积。 分析:采用模块化程序设计的思想,将计算长方形面积的代码段提炼出来,写成函数,当需要这段代码时,就调用该函数 。 #include stdio.h int main( ) /* 先设计main函数 */ { int a,b,c,d,s1,s2; printf(Please input the width and the height(two rectangular):); scanf(%d%d%d%d,a,b,c,d); /* 调用输入库函数 */ s1=area(a,b); /* 调用自定义函数area */ s2=area(c,d); /* 再次调用自定义函数area */ printf(the area of the first rectangular is %d\n,s1); printf(the area of the second rectangular is %d,s2); return 0; } int area(int x,int y) /* 再设计自定义函数area */ { int z; z=x*y; return z; } 由此可以看出,在C程序设计中使用函数可以减少重复编写程序的工作量,使程序便于调试和阅读。 5.2 函数的分类 C语言中可从不同的角度给函数分类。 1.从函数定义的角度 (1)库函数 由C系统提供,用户无须定义,也不必在程序中作类型说明,只需在程序前包含有该函数原型的头文件即可在程序中直接调用。在前面章节中用到的printf、scanf、getchar、putchar等函数均属库函数。 C语言提供了丰富的库函数,字符类型函数、转换函数、字符串函数、数学函数、 输入输出函数等等,详见附录Ⅳ。 (2)用户自定义函数 系统提供的库函数不能完全满足用户的特殊需求时,由用户按需要自己设计的函数。用户可按C语言的函数规则定义其函数名称、使用的参数、完成的功能和运行的结果。如例5.1中的area函数是用户自定义函数。 2.从主调函数和被调函数间数据传送的角度 (1)无参函数 函数定义、函数说明及函数调用中均不带参数。主调函数和被调函数之间不进行参数传送。此类函数通常用来完成一组指定的功能,可以返回或不返回函数值。 (2)有参函数(带参函数) 在函数定义及函数说明时都有参数,称为形式参数(简称为形参)。在函数调用时也必须给出参数,称为实际参数(简称为实参)。进行函数调用时,主调函数将把实参的值传送给形参,供被调函数使用。 5.3 函数的定义和调用 5.3.1 函数的定义 函数的定义格式为: 类型标识符 函数名 ( [形式参数列表] ) { 类型声明部分 执行语句部
您可能关注的文档
- C语言程序设计实验指导 教学课件 作者 唐新来 王萌 第4章数组.ppt
- C语言程序设计实验指导 教学课件 作者 唐新来 王萌 第6章指针.ppt
- C语言程序设计实验指导 教学课件 作者 唐新来 王萌 第7章复杂数据类型.ppt
- C语言程序设计实验指导 教学课件 作者 唐新来 王萌 第8章文件.ppt
- C语言程序设计实验指导 教学课件 作者 唐新来 王萌 第9章预编译和位运算.ppt
- C语言程序设计实用教程 教学课件 作者 陈方 C语言程序设计模拟试卷A.doc
- C语言程序设计实用教程 教学课件 作者 陈方 C语言程序设计模拟试卷B.doc
- C语言程序设计实用教程 教学课件 作者 陈方 第1章.ppt
- C语言程序设计实用教程 教学课件 作者 陈方 第2章.ppt
- C语言程序设计实用教程 教学课件 作者 陈方 第3章.ppt
最近下载
- 武汉市2025届高中毕业生四月调研考试 英语试卷(含答案详解).pdf
- 硕士研究生论文的选题与写作.ppt
- 2019年7月安徽省砀山县事业单位幼儿教师招聘考试《幼儿保教知识与能力》真题试卷(含答案).pdf VIP
- 确保室内空气质量的施工方案与技术措施.pdf
- 中小银行上云趋势研究分析报告 2024.pptx
- 证券从业人员证券投资基金基础知识题库与答案.doc
- 小学家长会英语老师课件.pptx VIP
- 第七单元《红楼梦》薛宝钗、林黛玉人物形象赏析 公开课一等奖创新教案统编版高中语文必修下册.docx VIP
- 最新部编版五年级下册语文单元教材分析(全册) .pdf VIP
- 春季学期《工业控制网络》试题.doc
文档评论(0)