欢迎来到天天文库
浏览记录
ID:50086236
大小:1.67 MB
页数:153页
时间:2020-03-08
《C 语言及应用 中专 教学课件 ppt 作者 孙振业 第5-7章第5章.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第5章函数5.1函数的定义5.2函数的调用5.3编译预处理5.4标准库函数5.5应用举例习题55.1函数的定义例5.1打印一行文字″ThisisaCprogram!″。print(){printf(″ThisisaCprogram!″);}main(){printf(″Pleaseprinttheresult!″);print();/*调用print()函数*/}例5.1程序由主函数main()和被调函数print()组成。例5.2计算5!+3!。comp(x)/*计算n!*/intx;{inti,j=1;fo
2、r(i=1;i<=x;i++)j*=i;return(j);}main(){intsum;sum=comp(3)+comp(5);/*调用comp(x)函数*/printf(″%d″,max);}例5.2程序由主函数main()和被调函数comp()组成。其中主函数提供n的值,被调函数计算n!。从例5.1、例5.2可以看到,C语言的函数可以划分为两大类:(1)无参函数:函数定义中没有形式参数。在调用无参函数时,主函数没有数据传递给被调函数,无参函数通常不返回函数值。例如,例5.1中的print()函数是一个无参函数。(2)有参函
3、数:函数定义中有形式参数表和形式参数说明。主函数中有数据传递给被调函数,被调函数执行后,可以将结果返回给主函数。例如,例5.2中的comp(x)是一个有参函数,其中x为形式参数,主函数调用comp(x)函数时,将实际参数3、5分别传递给形式参数x,return语句将函数值j返回到主函数中的调用处。5.1.1函数的定义用户的自定义函数,必须先定义后使用。1.函数定义的一般形式函数类型说明函数名(形式参数表)/*函数头*/形式参数说明;{变量说明;/*函数体*/执行语句;}C语言的函数由函数头、形式参数说明和函数体三部分组成。其中:(1)函
4、数名和形式参数的构成应符合标识符的构成规则。(2)函数类型说明:说明函数返回值的数据类型。当函数返回值是数值时,函数的数据类型可以是任何的基本类型(例如整型、实型、字符型等);当函数返回值是地址时,函数的数据类型可以是指针类型(指针类型将在第7章介绍)。函数类型说明省略时,系统将自动按整型处理。(3)形式参数可以是一个或多个,多于一个时用逗号分隔。当形式参数省略时,函数为无参函数。例如:wing(x,y,z)intx,y,z;{…}定义wing()为整型函数,其形式参数x、y、z也为整型。(4)当函数体省略时,函数为空函数,其一般形式如下:
5、函数类型说明函数名(){}2.函数定义的说明(1)形式参数说明与变量说明不能混淆,更不能合并在一起说明。(2)执行空函数时不做任何操作,其作用是在程序中占据一个位置。这种方法常用于工程开发,把没有开发完的模块以一个空函数的形式存放在程序中,以后可以陆续开发扩充其功能。(3)C语言不允许函数嵌套定义。一个复杂的程序可以由多个函数构成,但是所有的函数在程序中都是平行的、相互独立的。5.1.2函数的参数函数之间的数据传递是通过主函数的实际参数和被调函数的形式参数之间的“虚实结合”来实现的。1.形式参数(1)形式参数:在定义有参函数时,函数名后面括
6、号中的变量称为“形式参数”(简称“形参”)。形式参数的作用是从主函数接受传递的数据。(2)形式参数的说明:定义函数时必须说明形式参数的类型。方法与变量说明一样,其一般形式如下:类型说明形式参数表;C语言ANSI新标准允许使用下面的形式参数说明:函数类型说明函数名(类型说明形式参数表)例如:floatscore(intx,inty)(3)形式参数的生存期:一个函数只有被调用时,函数体才被执行。一个函数从被调用到完成函数功能而返回主函数的时间称为函数的生存期。形式参数的生存期与所属函数的生存期相同。所谓形式参数的生存期,是指形式参数只有在被主函数
7、调用时才分配内存单元,一旦调用结束,内存单元立即被释放,形式参数不再有意义。2.实际参数(1)在调用有参函数时,函数名后面括号中的常量、变量或表达式称为实际参数。实际参数必须有确定的值。实际参数的作用是,当主函数调用被调函数时,向形式参数传递数据。(2)当实际参数的个数多于一个时,应用逗号分隔。(3)实际参数与形式参数的个数、类型应一致,否则将发生“类型不匹配”的错误。字符型与整型可以互相通用。(4)实际参数与形式参数的数据传递是单向传递,称为“值传递”。即,数据只能由实际参数传递给形式参数,不能由形式参数向实际参数返回数据。所以,不能通过形式参数
8、向主函数返回函数值。例5.3有参函数的单向传递示例。main()/*主函数*/ {inta
此文档下载收益归作者所有