- 1、本文档共80页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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++函数调用是基于栈存储结构来实现的。当函数被调用时,为函数形参、返回值
您可能关注的文档
- [数学]立体几何题型与方法理科.doc
- [数学]第11讲横断面设计4-1.ppt
- [数学]第18章勾股定理复习3-.ppt
- [数学]第17章173导数的应用.ppt
- [数学]第1章方差分析及MATLAB实现2012.ppt
- [数学]第2章一元线性回归模型.pdf
- [数学]第1节消元法、线性方程组解的判定与解的性质.ppt
- [数学]第2章基本数据类型与简单程序设计.ppt
- [数学]第2章基本体三视图-1.ppt
- [数学]第2节_含绝对值的不等式及一元二次不等式的解法.ppt
- 2024年江西省寻乌县九上数学开学复习检测模拟试题【含答案】.doc
- 2024年江西省省宜春市袁州区数学九上开学学业水平测试模拟试题【含答案】.doc
- 《GB/T 44275.2-2024工业自动化系统与集成 开放技术字典及其在主数据中的应用 第2部分:术语》.pdf
- 中国国家标准 GB/T 44275.2-2024工业自动化系统与集成 开放技术字典及其在主数据中的应用 第2部分:术语.pdf
- GB/T 44285.1-2024卡及身份识别安全设备 通过移动设备进行身份管理的构件 第1部分:移动电子身份系统的通用系统架构.pdf
- 《GB/T 44285.1-2024卡及身份识别安全设备 通过移动设备进行身份管理的构件 第1部分:移动电子身份系统的通用系统架构》.pdf
- 中国国家标准 GB/T 44285.1-2024卡及身份识别安全设备 通过移动设备进行身份管理的构件 第1部分:移动电子身份系统的通用系统架构.pdf
- GB/T 44275.11-2024工业自动化系统与集成 开放技术字典及其在主数据中的应用 第11部分:术语制定指南.pdf
- 中国国家标准 GB/T 44275.11-2024工业自动化系统与集成 开放技术字典及其在主数据中的应用 第11部分:术语制定指南.pdf
- 《GB/T 44275.11-2024工业自动化系统与集成 开放技术字典及其在主数据中的应用 第11部分:术语制定指南》.pdf
最近下载
- 小学一年级家长会语文老师PPT课件1_图文.ppt
- 奥鹏云南开放大学 小学语文案例教学(20秋)形考作业4(客观).doc VIP
- 沅陵大曲酒厂续建项目(重大变更) 环境影响报告书.pdf
- SH∕T 1541.1-2019 塑料颗粒外观试验方法 第1部分:目测法.pdf
- 泳池清洁机器人.pdf VIP
- 中职高考语文二轮复习写作技巧专项突破专题01 应用文写作-技巧与练习(含详解).docx VIP
- (人教版)数学三年级上册计算题“天天练”习题卡,含100份题组,附参考答案.doc
- 【新教材】人教PEP版(2024)三年级上册英语Unit 1 Making friends单元整体教学设计.docx
- 乡村学校德育工作实践.docx VIP
- “国家中小学智慧教育平台”培训方案(2).doc
文档评论(0)