资源描述:
《谭浩强C语言教程 函数.ppt》由会员上传分享,免费在线阅读,更多相关内容在PPT专区-天天文库。
1、第五章函数本章目标1.进一步理解多个函数构成一个C程序2.进一步了解和熟悉库函数3.学会编写自已的函数4.理解函数的调用关系5.理解函数中参数的传递机制一、C程序模块一个C程序可由一个main()函数和多个其它函数构成。§5.1C程序模块其它函数指的是:系统函数由系统提供,放在头文件中自编函数由程序设计人员编写二、函数的调用如:mainfunafunbfuncfundfunxfuny所有的函数都具有两种特征:返回值参数(返回值和参数都是可缺省的)§5.2库函数一、库函数简介系统自带的标标准库函数根据不同的功能作用放在不同的头文件中。如:stdio.h用于标
2、准输入/输出math.h用于数学计算ctype.h用于字符处理string.h用于字串处理time.h用于时间/日期的处理dir.h用于控制目录和路径graphics.h用于图形操作dos.hbios.h用于接口处理二、库函数的作用使程序更具有“独立性”和“可移植”性。使用时只需在程序的开头加上一条语句:#include<.h>“”根据使用的函数来确定使程序具有“模块化”。例:求两个浮点型数值x/y的余数。(注意:不能写成3.6%1.7=2.0)#include#includemain(){floatx,y
3、,z;scanf("%f%f",&x,&y);z=fmod(x,y);printf("z=%f",z);}例:函数的结构main(){printstar();print_message();printstar();}printstar(){printf(“********************************”);}print_message(){printf(“howdoyoudo!”);}对函数的理解:一个源程序由一个或多个函数组成。一个c程序由一个或多个源程序组成。c程序的执行顺序从main()开始,调用其他函数后,流程回到main()函数。c程序的所有的函数
4、都是平行的,不存在函数的嵌套定义。从用户的角度对函数的分类:(1)标准库函数:由系统提供。(2)用户自定义函数:解决用户的专门需要。从函数的形参对函数的分类:(1)有参数函数:用于执行指定的一组操作,可以带回或不带回函数值。(2)无参数函数:主调函数可以将数据传给被调函数使用,被调函数中的数据也可以带回给主调函数使用。§5.3自定义函数一、自定义函数的作用使程序具有“积木”功能。(模块化)使程序具有“重构”功能。1、含义:函数是完成一个独立功能的程序代码。2、C程序的基本结构(如图):1、函数的返回值是通过函数中的return语句来完成的,return语句一次只能返回一个值;
5、2、由return语句返回的数据类型应与函数定义时的类型一致。例:3、当在函数的定义时,未指出函数的类型,c语言默认的类型为整型.4、函数没有return语句并不表明函数没有返回值,只是这个返回值对于调用者来说可能是没有用的,这个返回值随函数的不同它的值也不尽相同.5、如果我们明确表示函数不能返回值,在函数的定义时用“void”加以说明,这样可以确保函数不带回返回值.returnz等价return(z)return(x>y?x:y);6、例:函数的返回值例:对函数返回值的理解:main(){inta,b,c;a=printstar();b=print_message();c=pr
6、intstar();printf(“%d,%d,%d”,a,b,c);}若不需要函数带回任何值,可使用:voidprintstar(){…}voidprint_message(){…}例:函数返回值的类型与其定义的类型不符时:main(){floata,b;intc;scanf(“%f,%f”,&a,&b);c=max(a,b);printf(“maxis%d”,c);}max(floatx,floaty)输入:1.5,2.5{floatz;输出:maxis2z=x>y?x:y;return(z);}/*return(x>y?x:y)等价*/函数的一般调用1、函数调用的一
7、般形式:函数名(实参表列);如:add(intx,inty)的调用为add(2,3)2、函数调用的规则:实参与形参在个数与类型上必须保持一致。当函数无参数时,实参表列就为空,但括号不能少。实参表列中的各个参数之间用逗号隔开。实参与形参是一一对应的关系(函数调用的过程)。对于实参表的求值顺序各个系统是不一致的。1.函数语句:功能:将函数调用作为一个语句。如:printf(“book”);要点:不要求函数带回值,只要求完成一定的操作。2.函数表达式:功能:将函数作为表达式的一部分。如