- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第五章 函数 第五章 函数 5.1函数定义 5.2 函数调用 5.3 函数与C程序结构 5.4 函数与变量 第五章 函数 本章学习目标 理解函数的概念 学会定义函数 理解函数调用时的参数传递机制 学会函数调用 理解函数嵌套调用和递归调用 用多个函数组成一个程序 第5章 函数 5.1 函数概述 函数是独立程序段,它完成特定的功能。 函数分为标准库函数与自定义函数。 1。系统提供的标准库函数: 如:pow x,n 计算xn的值,sqrt x 计算x的平方根等。 2。用户自定义函数。 用户自己编写函数。 5.1 函数定义 函数概述 通常将相对独立又经常使用的操作编写成函数。用户可以通过函数调用来实现函数的功能。C程序的函数有两种:标准库函数和自定义函数。 标准库函数 将一些常用的操作或计算定义成函数,实现特定的功能,这些函数称为标准库函数。 自定义函数 除了使用系统提供的标准库函数外,用户也可以自己编写函数,使函数完成用户指定的任务。 5.1 函数定义 函数定义 函数定义的一般形式: 类型标识符 函数名(类型 形参,类型 形参,……) 定义部分 语句序列 类型标识符 类型标识符用来定义函数类型,是指函数返回值的类型。 无返回值的函数,函数类型用“void”,称为“空类型”。 函数名 函数名由程序员取名,但必须符合标识符的命名规则。 形参 形参个数及形参的类型是由具体的函数功能决定。 5.1 函数定义 例5.1 定义一个函数,根据三角形的三条边长,计算三角形面积。 #include double area double x,double y,double z //定义求三角形面积函数 double s, a; s x+y+z /2; a sqrt s* s-x * s-y * s-z ; return a; 5.1 函数定义 例5.2 编写函数,在屏幕一行上输出8个“*”字符。 void printstar int i; for i 0; i 8; i++ printf %c,* ; printf \n ; return; // 返回主调函数 5.1 函数定义 return语句 return; return 表达式; return; 用在定义为void的函数体中,函数无返回值; return表达式;用在除空类型外的所有其它函数体中,函数有返回值。 return语句功能:返回的到主调函数的调用点。 5.2 函数调用 函数调用 程序中使用已定义好的函数,称为函数调用。如果函数A调用函数B,则称函数A为主调函数,函数B为被调函数。 函数调用的一般形式: 函数名 实参,实参,…… 函数调用时,实参与形参的个数必须相等,类型应一致,若形参与实参类型不一致,编译系统按照类型转换原则,自动将实参值的类型转换为形参类型。 5.2 函数调用 函数调用过程: (1)建立形参变量。 (2)实参值传给形参变量,使形参变量获得值 无参函数调用无该步 。 (3)程序在调用点暂停执行,转入被调用的函数体内执行。 (4)被调用函数体执行完后转回调用函数的调用点并带回值,然后从调用函数的暂停点开始继续执行尚未执行完的程序。 5.2 函数调用 例5.3 编写函数,求两个数的最大值函数。在主函数中输入两个数,用函数调用求出最大值,并在主函数中输出。 #include double max double x,double y // 定义求两个数中的最大值 double mx; mx x y?x:y; return mx ; // 返回最大值 void main double a,b,m; printf “Input a b:\n” ; scanf %lf%lf,a,b ; m max a,b ; printf Max %lf,m ; 5.2 函数调用 传值调用的特点 C语言中函数调用时,先建立形参变量,再把实参的值复制(赋值)给形参变量,起到了外部数据传给函数的作用。除此之外,实参与形参变量没有任何关系。 在函数体的执行中,形参变量值的任何改变,都不影响实参值。 5.2 函数调用 例5.4 定义一个计算n!的函数,其中n是自然数,函数返回值为double。计算5!,输入t,分别计算输出t!和 5+t !。 #include double fact int n double ft; for ft 1;n 1; n-- ft* n; return ft; void main double m1,m2,m3,a; int t; printf Input t:\n ; scanf %d,t ; m2 fact t ;
文档评论(0)