- 1、本文档共32页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
单片机C语言课件第5章
第5章 函 数 5.1 函数概述 一个较大的程序往往由若干个程序模块组成,不同的模块可以由不同的程序员开发,最后,将所有模块组装成一个完整的程序。如何把这些模块连接成为一个程序、保证各个开发者的工作既不重复、又能相互衔接这一问题的方法就是模块化设计方法。 1.模块化程序设计的特点 ① 各模块相对独立、功能单一、结构清晰、接口简单。 ② 降低了程序设计的复杂性。 ③ 缩短开发周期。 ④ 避免程序开发的重复劳动。 ⑤ 易于维护和功能扩充。 5.1 函数概述 2.C语言的特点 ① 允许将一个程序写入多个源文件,每个源文件可以独立编译,一个源文件也可以被多个程序使用。 ② 源文件由多个函数组成,函数是最小的功能单位,一个函数可以被不同源文件中的其他函数调用。 ③ C是函数式语言,一个C程序必须有且仅有一个主函数main(),主函数可以放在任何一个源文件中。 ④ C程序的执行总是从main函数开始,在main中结束。main函数是由系统定义的。 ⑤ 函数不能嵌套定义,可以嵌套调用。 ⑥ 不同源文件的组装可以通过工程文件实现。 5.1 函数概述 3.C语言函数分类 (1)从用户使用角度来看 ① 库函数:即标准函数,由系统提供的函数,用户可以直接使用。例如:函数printf()、scanf()等属于库函数。 ② 用户定义函数:用户根据自己的需要而编写的函数。 (2)从函数形式来看 ① 无参函数:当调用函数时,不需要向函数提供数据,则该函数称为无参函数。多数无参函数调用之后,仅完成某一操作,而不需要带回一个结果,因此,也可以不指明函数的类型。 ② 有参函数:调用该函数时,必须提供必要的数据,根据提供数据的不同,可能获得不同的结果。 5.1.1 函数的定义 1.现代方式的定义形式 函数类型 函数名(形参类型说明表) { 说明部分 语句部分 } ① 函数类型:函数返回值类型。缺省为int型,无返回值为void。 ② 函数名:要求是合法标识符。 ③ 形参也称为“形式参数”。形参表是用逗号分隔的一组变量说明,包括形参的类型和形参标识符。 ④ {}内为函数体。 ⑤ 函数的返回值就是函数执行后带回的一个结果。它通过函数体中的return语句获得。 return语句的一般格式如下: return(表达式); 其功能是将表达式的值作为函数的返回值并带回主调函数。 5.1.1 函数的定义 (1)无参数函数的定义形式 函数类型 函数名() { 说明语句 执行语句 } (2)有参函数定义的一般形式 函数类型 函数名(形参表) { 说明部分 语句部分 } (3)可以有“空函数” 函数类型 函数名() { } 5.1.1 函数的定义 2.传统方式的定义形式 函数类型 函数名(形参表) 形参类型说明 { 说明部分 语句部分 } 5.1.2 函数的调用 1.函数调用 函数调用就是对已经定义的函数进行具体应用。一般形式如下: 函数名(实参表); 2.函数的调用方式 (1)函数语句 这种调用方式把函数调用作为一个语句,通常只完成一种操作,不带回返回值。 【例5-2】 func函数的调用,函数func不返回值,只完成某一操作。 #includestdio.h func() { printf(I am a boy!\n); } main() { func(); } 5.1.2 函数的调用 (2)函数表达式 函数出现在一个表达式中。要求有返回值以参加表达式的运算。 例如: m=max(a,b)*6; 调用求最大值函数max。 5.1.2 函数的调用 (3)函数参数 函数调用结果进一步作为其他函数的一个实参,这种函数也有返回值。例如下面语句中的max函数: printf(%d,max(a,b)); 把max(a,b)作为 printf函数的一个参数。 函数调用作为函数的参数,实质上也是函数表达式调用的一种,因为函数的参数本来就要求是表达式。 【例5-4】 调用求两个实数的最大数函数rmax2(),求3个数的最大数。 5.1.2 函数的调用 关于形参和实参的说明总结如下。 ① 形参在被调函数中定义,实参在主调函数中定义。 ② 实参与形参之间是单向的值传递,即实参的值传给形参。因此,实参与形参必须类型相同,个数相等,一一对应,若类型不一致,则自动按形参类型转换——函数调用转换。 ③ 实参可以是常量、变量或表达式,但实参必须在函数调用之间有确定的值。 ④ 实参变量对形参变量的数据传递是单向“值传递”。即只由实参传给形参,而不能由形参传给实参。 ⑤ 形参必须指定类型。 ⑥ 形参在函数被调用前不占内存;函数调用时为形参分配内存;调用后,内存释放。 5.1.2 函数的调用 3.函数声明 函数类型说明称为函数声明。函数声明的一般形式为
您可能关注的文档
- 2010杭电会计2+2题目.doc
- 《非洲》教案.doc
- 环境和安全方案.doc
- 毕业要的(城)外文资料翻译.doc
- GHOSTXP光盘刻录图文教程(傻瓜式多图).doc
- 第一册阳光 演示文稿.ppt
- Sybase 常用命令介绍(chenyi).doc
- 课文25.ppt
- 8 综合探究:有序与无序的政治参与.ppt
- 八年级上数学期末模拟2.doc
- 抢分秘籍10 带电粒子电场中的直线运动、偏转和交变电电场中的应用(三大题型)(原卷版)-2025年高考物理冲刺抢押秘籍.pdf
- 抢分秘籍11 带电粒子在组合场、叠加场中的运动(五大题型)(解析版)-2025年高考物理冲刺抢押秘籍.pdf
- 抢分秘籍11 带电粒子在组合场、叠加场中的运动(五大题型)(原卷版)-2025年高考物理冲刺抢押秘籍.pdf
- 抢分秘籍12 电磁感应中的电路与图像问题(二大题型)(解析版) -2025年高考物理冲刺抢押秘籍.pdf
- 抢分秘籍12 电磁感应中的电路与图像问题(二大题型)(原卷版)-2025年高考物理冲刺抢押秘籍.pdf
- 抢分秘籍14 热力学定律与气体实验定律综合应用(五大题型)(解析版)-2025年高考物理冲刺抢押秘籍.pdf
- 抢分秘籍13 电磁感应中的动力学、能量和动量问题(三大题型)(原卷版)-2025年高考物理冲刺抢押秘籍.pdf
- 抢分秘籍14 热力学定律与气体实验定律综合应用(五大题型)(原卷版)-2025年高考物理冲刺抢押秘籍.pdf
- 抢分秘籍16 振动图像与波动图像的综合应用(三大题型)(解析版)-2025年高考物理冲刺抢押秘籍.pdf
- 抢分秘籍15 光的折射、全反射的综合应用(二大题型)(解析版)-2025年高考物理冲刺抢押秘籍.pdf
文档评论(0)