网站大量收购独家精品文档,联系QQ:2885784924

4.2 函数定义和函数调用.ppt

  1. 1、本文档共46页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
§4.2 函数的声明和函数调用 1.函数定义和函数调用的区分 ? 1)函数定义:  要给出函数名、函数类型、形式参数、函数的实现过程(函数的定义性说明),它是一个完整的、独立的函数单位。   2)函数声明 只给出函数名、函数类型、形参类型(有时给出形参名)。没有给出函数实现的过程描述。有时称为函数原型说明,一般放在程序开头,描述本程序将要用到哪些函数(函数的引用性说明)。 3)设立函数的作用 提高程序的可读性(本程序使用到了哪些函数)并且改善程序的结构;减少程序编写、调试的工作量,提高程序设计效率并较好地保障程序的正确性和可靠性;   提供语法检查(在程序中对照函数原型,检查所属实际使用的函数的参数是否和函数原型规定的参数类型想匹配,若不匹配就自动转换为函数原型所规定的类型。C语言无此功能,C++才有)。 例子:求用户输入的三个数中的最大者,演示函数的引用性声明。 ? #includeiostream.h ? float max(float, float);???????????? //函数的引用性声明 ? void main( ) ? {?? float i, j, k;?????????????????? //用户输入的三个数 ????? float temp;????????????????????? //临时最大者 ????? coutInput three numbers please:;??????????? //用户输入三个数 ????? cinijk;??????????????????? //找出最大数存放在temp中 ????? temp=max(i, j); ????? temp=max(temp, k); ????? coutThe maximum number is tempendl;??? //输出找到的最大数 ? } ?? //求两个数的最大值 ?float max(float x, float y) ? {?? float z; ????? if(x=y) z=x; else z=y; ????? return z; ? } 2.函数的定义性说明(函数定义) 1)含义:  给出函数名、函数类型、形式参数、函数的实现过程(函数的定义性说明)。 2)形式如下: ??? 类型? 函数名(形式参数表) ??? { ??????? 语句序列 ??? }    3)相关术语 ? 函数名   函数类型  函数参数  函数参数传递  函数体    函数值的返回  控制的转移 ①函数名 为函数所起的名字,必须是一个有效的C++标识符(以字母或下划线开头、后接字母或数字或下划线的字符序列),但不允许使用C++的保留字作为函数名。 我们应该根据函数所完成的功能为函数起一个有意义的名字。在书写函数名字时应在后面加上一对圆括号以区别于其它变量或类型的名字。 ②函数类型 函数类型是指函数返回值的类型,可以是基本数据类型,也可以是后面要讨论的复合数据类型,但不允许是数组类型或函数类型。 函数定义时需注明函数类型。 C语言缺省类型为int。 C++继承C,但有些版本会不同,因此最好具体指定,如确实不需要指明类型,就采用void类型( 空类型)。 ③函数参数 包括形式参数和实际参数 。 形式参数是用逗号分隔的变量说明列表,这些变量称为函数的形式参数,有时也简称为形参。 形式参数用于接收从函数调用程序传给这个函数的数据。 实际参数是用逗号分隔的表达式列表,其中每一个表达式称为实际参数,有时也简称为实参。 在函数调用时,需要将实参的值传送给对应位置的形式参数,因而要求实参个数必须和形参个数相同(缺省参数或可变数目参数情况例外),并且实参的类型必须与对应的形参类型相匹配。 ④函数参数传递(两种情况) 主调函数调用被调函数时,函数执行所需的参数如何从主调函数传入到被调函数中去; 函数执行完后,所得到的执行结果如何传送回主调函数中 。  参数传递1  实参-->形参 (包括值的传递(传值); 地址的传递(传地址)) 参数传递2 执行结果->主调函数 ???形式:return 表达式; 或 return (表达式); ???功能:计算出表达式的值并返回给主调函数,退出函数执行,把执行回归到主调函数。 注意: 采用return只能返回一个值 如  return x;不能用return x,y; 也不能用return x; return y; 。 参数传递3(可用于两者) 采用全局变量形式,但要注意有没有副作

文档评论(0)

ajgoaw + 关注
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档