[数学]第五章函数.ppt

  1. 1、本文档共80页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[数学]第五章函数

第五章 函数 5.1 函数的定义、调用与说明 5.2 函数间参数传递 5.3 递归函数 5.4 函数参数缺省 5.5 函数重载 5.6 函数模板 5.7 作用域与存储类 5.1.2 函数的定义 语句是构造程序的最基本单位。当我们用程序语句编写的程序越来越大,越来越复杂的时候,为了使程序更简洁、可读性更好、更便于复用,以及更便于维护,就有必要将把它分成若干个模块,每个模块完成一项任务。在C++中,这些模块就是一个个的函数。函数也是C++语言构造程序的重要的基本单位。 函数的本质有两点:   (1) 函数由能完成特定任务的独立程序代码块组成,如有必要,也可调用其它函数,来产生最终的输出。   (2) 函数内部工作对程序的其余部分是不可见的。 C++提供三种类型的函数: 主函数main( ) 标准库函数 用户自定义函数 函数定义的一般形式如下:   返回类型 函数名(参数表列)   {    语句系列    return 合适类型数值   }   函数的定义包括以下几个部分:   1. 函数名   2. 参数表列   3. 返回类型   4. 函数体   1. 函数名: 一个符合C++语法要求的标识符,定义函数名与定义变量名的规则是一样的,但应尽量避免用下划线开头,因为编译器常常定义一些下划线开头的变量或函数。函数名应尽可能反映函数的功能,它常常由几个单词组成。   如VC中的按下鼠标左键的响应函数为:OnLButtonDown,这样就较好的反映了函数的功能。 2. 参数表列:0个或多个变量,用于向函数传送数值或从函数带回数值,每一个参数都有自己的类型,它不同于变量定义,因为几个变量可以定义在一起,例如“ int i,j,k;”。如果参数表列中参数个数为0,我们称之为无参函数,无参函数可以定义为: “返回类型 函数名( ){…} “ 或 ”返回类型 函数名(void){…} 3. 返回类型:即调用该函数后所得到的函数值的类型,它由函数体内部的return语句提供。 return 表达式; return语句提供的表达式的值的类型必须与函数说明中的函数值类型一致。 如果某一函数确实没有返回值,则使用说明符void。 例如:主函数 void main() { … … } 注意:这时函数中不能出现有返回值的return语句。 4. 函数体:花括号中的语句称为函数体,一个函数的功能,通过函数体中的语句来完成。 函数体本身是一个分程序,由语句和其他分程序组成。 语句分为说明语句和执行语句两类。 对某具体变量来说,应先说明,后使用。 非void型函数 函数体中必须有return语句,形式为:      return 表达式 ; 或 return (表达式) ;   用于返回函数值。表达式值的类型与函数类型最好一致。 void型函数 函数体中return语句可以不出现。若出现,则不能带表达式。 5.1.3 函数调用 形式: 5.1.4 函数说明(函数原型) 如果一个函数调用另一个函数,在调用函数中必须对被调用函数进行说明,函数说明类似于函数定义,不过没有实现代码,函数说明的一般形式如下:   返回类型 函数名(参数表列);  函数说明是一个语句,所以要以分号结束。C++中,函数说明也称为函数原型,下面是函数说明的例子: void PrintStats(int num, double ave, double std_dev); int GetIntegerInRange(int low, int high); 函数原型与函数定义的区别在于:函数原型没有函数体部分,且是用分号结束的,就像变量的声明。  一些函数的说明,我们放在头文件中,也有一些函数的说明放在文件的头部,而函数的定义放在该文件后面。我们知道,C++应用程序是从main函数开始执行,main函数在文件中的位置并没有特别的要求,它可以在文件的头部、中部或尾部。下面我们举一个简单的应用程序例子,看看如何进行函数的说明。 5.2 函数间参数传递 函数调用时,要将调用函数中实参传送给被调函数中的形参。在C++中,有两种参数传递方式,即值传递和地址传递(或称引用传递)。地址传递我们在后面介绍,这里介绍值传递的方法。   函数在被调用以前,形参变量并不占内存单元,当函数被调用时,形参变量分配有存储单元,并将相应的实参变量存储单元的值复制到形参变量单元。所以,被调函数在执行过程中,如果形参变量的值发生了变化,并不影响实参变量的值。 值传递也可以称之为赋值调用,这种方式是把实参的值复制到函数的形式参数中,函数中的形式参数的任何变化都不会影响到实参变量的值。 C++函数调用是基于栈存储结构来实现的。当函数被调用时,为函数形参、返回值

您可能关注的文档

文档评论(0)

jiupshaieuk12 + 关注
实名认证
内容提供者

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

版权声明书
用户编号:6212135231000003

1亿VIP精品文档

相关文档