- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第6章 函数 在这一章中将介绍C语言程序的函数,函数是一段连续的程序代码的组合,它用来完成一定功能,一个C语言程序往往由很多个函数组成,函数之间并列排放,相互调用,协同工作,完成一个大的任务。 6.1 函数定义 实际上读者对函数并不陌生,C语言中有大量的内部函数,程序的主体main就是一个函数,除此之外在程序中还可以定义自己的函数。 返回类型 函数名称(类型1 参数1,类型2 参数2,……) { // 函数体 } 返回类型是函数值的数据类型,可以是C语言中的char、int、short、long、float、double等任何一种基本的数据类型。返回类型可以省略不写,如不写则默认为int类型。 函数名称是用户自己定义的名称,与变量的命名规则一样。 函数可以有很多参数,每一个参数都有一个类型及名称,它们是函数的变量,不同的变量对应的函数值往往不同,这是函数的本质所在,这些参数称为函数的形式参数。 函数体是函数的程序代码,它们包含在一对大括号内。 函数被设计成为完成某一个功能的一段程序代码或模块,C语言把一个问题划分成多个模块,分别对应一个个的函数,一个C语言程序往往有多个函数组成,最简单的C语言程序只有一个函数,那就是main函数自己。 6.2 函数参数与返回值数 6.2.1 函数参数 ? 在调用函数时,形式参数规定了函数需要的数据个数及其类型,实际参数必须在类型与数目上与形式参数一样,一般规则是: (1) 形式参数是函数的内部变量,有名称及类型。形参出现在函数定义中,在整个函数体内都可以使用,离开该函数则不能使用; (2) 实际参数的个数与类型必须与形式参数一致,实际参数可以是变量,常数、表达式、甚至是一个函数; (3) 当实际参数是变量时,它不一定要与形式参数同名称,实际参数变量与形式参数变量是不同的内存变量,它们其中一个值的变化不会影响到另外一个变量。 (4) 如实际参数的类型与形式参数的类型不完全一致,至少是可以赋值转换的,否则会发生“类型不匹配”的错误; (5) 函数调用中发生的数据传送是单向的,即只能把实参的值传送给形参,而不能把形参的值反向地传送给实参,因此在函数调用过程中,形参的值发生改变,而实参中的值不会变化; (6) 函数可以没有参数,但此时圆括号不可缺少; ? 6.2.2 函数返回值 ? 函数的值是指函数被调用之后, 执行函数体中的程序段所取得的并返回给主调函数的值。一般函数计算后总有一个返回值,通过函数内部的return语句来实现这个返回值,格式是: return 表达式; return返回一个数据类型与函数返回类型一致的表达式,该表达式的值就是函数的返回值。 6.2.3 没有返回值的函数 ?1.? 没有返回值的函数 函数也可以没有返回值,这种函数的返回类型被定义成void类型,例如下面函数: void SayHello() { puts(“Hello,everyone!”); } void类型的函数中也可以有return语句,但return后面不可以有任何表达式,例如: void fun(float x) { if(x0) return; //在x0时结束函数并返回 printf(“%f的平方根是%f”,sqrt(f)); } ? 2.没有确定值的函数 如果函数的返回类型不是void而是一个有确定类型的数据,但函数内部没有由return语句返回一个确定的表达式的值,则该函数的值不确定,例如: int Max(int x,int y) { int z; z=(xy?x:y); } 则调用Max函数后值不确定,例如Max(1,2)的值不一定是2。 6.2.4 函数调用 ? 函数调用是比较简单的,调用自己编写的函数就象调用C语言内部函数一样。有返回值的函数可以放在合适的任何一个表达式中去计算,当然也可以单独作为一条语句执行。而void类型的函数不能用在任何一个表达式中去参加计算,只能作为单独的一条语句执行。 但C语言中规定,函数必须先定义才可以调用,既在调用函数时编译器必须已经事先知道该函数的参数构造,不然编译会出错误。 对库函数的调用不需要再作说明, 但必须把该函数的头文件用include命令包含在源文件前部,实际上include命令包含的头文件中就是库函数说明。 main函数是C语言中的主函数,程序是从main函数的第一条语句开始的,当main的最后一条语句执行完毕后,main函数执行完毕,这样整个程序就执行完毕。一
文档评论(0)