- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
单片机 c语言 函数定义分类
2011-08-06 10:59
函数是预先定义的功能模块(由代码组成),编写函数的目的是能够反复调用它,提高代码的重用性和可读性。
c语言程序是由函数构成的,一个c源程序至少包含一个main()主函数,main()函数是程序执行的起点。
c语言函数的分类:
1. 从函数定义的角度看,函数可分为库函数和用户定义函数两种。 (1)库函数 ???? 由C编译器提供,用户无须定义, 也不必在程序中作类型说明,只需在程序前包含有该函数原型的头文件即可在程序中直接调用。
???????????? 如三角函数? float? sin(float x)返回x的正弦值,x为弧度,使用时必须在程序开头加入#include math.h?
? (2)用户定义函数 ?????? 由用户按需要写的函数。对于用户自定义函数, 不仅要在程序中定义函数本身, 而且在主调函数模块中还必须对该被调函数进行类型说明,然后才能使用。
2. C语言的函数兼有其它语言中的函数和过程两种功能,从这个角度看,又可把函数分为有返回值函数和无返回值函数两种。 (1)有返回值函数 此类函数被调用执行完后将向调用者返回一个执行结果, 称为函数返回值。如数学函数即属于此类函数。 由用户定义的这种要返回函数值的函数,必须在函数定义和函数说明中明确返回值的类型。 (2)无返回值函数 此类函数用于完成某项特定的处理任务, 执行完成后不向调用者返回函数值。这类函数类似于其它语言的过程。 由于函数无须返回值,用户在定义此类函数时可指定它的返回为“空类型”, 空类型的说明符为“void”。3. 从主调函数和被调函数之间数据传送的角度看又可分为无参函数和有参函数两种。 (1)无参函数 函数定义、函数说明及函数调用中均不带参数。 主调函数和被调函数之间不进行参数传送。 此类函数通常用来完成一组指定的功能,可以返回或不返回函数值。
????????? void Hello()?????????????? { ???????????????? printf (Hello,world \n);?????????????? } (2)有参函数 也称为带参函数。在函数定义及函数说明时都有参数, 称为形式参数(简称为形参)。在函数调用时也必须给出参数, 称为实际参数(简称为实参)。 进行函数调用时,主调函数将把实参的值传送给形参,供被调函数使用。?????????????int max(int a, int b)????????????????? {????????????????????? if (ab)
??????????????????????????? return a;????????????????????????????? else
???????????????????????????????? return b;?????????????????? }??
函数的调用:
??? 在一个函数中调用另一个定义的函数。调用格式:????? 函数名称 (实际参数列表);各个参数之间用逗号隔开,实际参数的个数必须和定义函数时的形式参数数量一致,否则将会出现错误。
函数调用的三种方式:
???????1、函数语句调用:
???????? function();? 无参数调用
??????? 2、函数表达式调用
????????????? x=max(a,b)+max(c,d);//将a,b的最大值,c,d的最大值相加之和送到变量 x;
??????? 3、做为函数参数调用
????????????? x=max(a,max(b,c);//a和b,c的大值比较,大者送到x,即求a,b,c的最大值;
??????????????? 这种在一个函数中调用另一个函数称为嵌套调用
文档评论(0)