面向对象的程序设计语言——C++ 第二版 陈志泊 第04章新.ppt

面向对象的程序设计语言——C++ 第二版 陈志泊 第04章新.ppt

  1. 1、本文档共66页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第4章 函数 关于函数 一个C++程序是由若干个源程序文件(.cpp文件)构成的,而一个源程序文件是由若干个函数构成的。 利用函数的目的有两个方面: 一方面使程序更利于维护、逻辑上更加清晰; 另一方面对于某些相同的功能,可以通过多个函数调用完成该功能的多次实现,从而减少重复性代码的编写工作。 本章主要内容 (1)熟练掌握函数定义及其调用的方法和形式。 (2)理解和领会函数重载的意义,并可以根据需求进行函数的重载。 (3)理解C++提供的3种预处理命令:宏定义命令、文件包含命令和条件编译命令。 (4)理解和掌握全局变量和局部变量的定义、生存周期以及作用域。 4.1 函数的定义 4.1.1 函数的定义 从用户的角度看,有两种不同的函数。 库函数也称标准函数,它是由C++系统提供的,用户不必自己定义便可在程序中直接使用; 用户自定义函数则需要用户根据程序的要求进行定义后,才可在程序中进行使用。 定义函数的一般形式: 函数返回值的数据类型标识符 函数名(形式参数表) { 函数体 } 如: void display_larger( int x, int y) { if (xy) coutThe larger is : y\n; else if(xy) coutThe larger is : x\n; else coutTwo values are equal. \n; } 说明: (1) “函数返回值的数据类型标识符”表示该函数返回值的类型,“函数名”即函数的名称,由用户给定,命名和变量名的命名规则相同,“形式参数”(即形参)的书写形式要采用新的ANSI标准,即必须把形参放在函数名后面的括号内,每个参数由参数类型和参数名构成。 (2)当形参有多个时,各参数间必须用逗号隔开。 (3)如果函数是无参函数,则函数名后面的括号不能省略。 (4)所有的函数都要先定义、后使用(调用)。 (5)不能省略函数值的类型,而必须表明该函数返回的函数值的类型。当该函数没有返回值时,函数返回值的类型要写成void。 (6)函数体由在一对花括号中的若干条语句组成,C++不允许在一个函数体内再定义另一个函数,即不允许在一个函数体的内部再定义另外一个函数,所有函数的定义必须是平等的、独立的。 4.1.2 函数的参数 调用函数是指在程序中使用了该函数。 如果在一个程序中有函数A和B,并且在函数A中使用了函数B,则称函数A调用了函数B。 函数A称为主调函数。 函数B称为被调函数。 在函数A中进行调用函数B的那条语句称为调用点。 大多数情况下,在调用函数时,主调函数和被调函数之间有数据传递关系。 函数之间的数据传递就是靠函数的参数进行的,这就是前面提到的有参函数(无参函数没有数据传递)。 在定义函数时,函数名后面括号内的变量名为“形式参数”(形参)。 在调用函数时,函数名后面括号内的表达式为“实际参数”(实参)。 【例4-1】输入两个整数,并显示最大值。 关于形参和实参有以下几点说明: (1)在定义一个有参函数时指定的形参变量,在未发生函数调用时并不占存储单元,只有存在发生函数调用时形参才被分配存储单元,在调用结束后,形参所占的内存单元被释放。 (2)实参可以是变量、常量或表达式,但必须有确定的值;而形参必须是变量。 (3)实参与形参的类型必须一致,否则会发生“类型不匹配”的情况。 (4)实参对形参的数据传递是“值传递”,即单向传递。只能由实参把数据传给形参,并且存储单元与形参是不同的单元,所以只能将实参对应的值依次传递给形参变量。调用结束后,形参单元被释放,而实参单元保留并维持原值。 4.1.3 函数的返回值 通常通过调用某一函数得到一个确定的值,这就是函数的返回值。 说明: (1)函数的返回值是通过函数体中的return语句获得的,return语句将被调用函数中的一个确定的值带回主调函数中。return语句的格式为: return(表达式); 或 return 表达式; 如: int max(int a,int b) { return(ab?a:b);} (2)函数值的类型 在定义函数时,当函数值说明的类型和return语句中的表达式类型不一致时,则以函数类型为准。 (3)如果被调用函数中没有return语句,则该函数不带回用户所希望得到的一个确定的函数值,但实际上,函数并不是不带回值,只是带回的是一个不确定的值,为了明确表示函数“不返回值”,可以用void定义无类型。 如: void print() {coutc language;} 这样,系统就保证不使函数print带回任何值。 (4)return语句可以出现在程序的任何位置。一旦执行了return语

您可能关注的文档

文档评论(0)

开心农场 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档