- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C++程序设计语言 第 5 章 函 数 第5章 函 数5.1 概述5.2 函数的定义5.3 函数的调用5.4 函数的其他特性5.5 变量的作用域与存储类型5.6 编译预处理5.7 程序设计举例5.8 习题 ● 实验 ● 课堂练习 调用具有缺省参数的函数时: 调用时提供的实参个数不应少于没有缺省值的参数个数。 若函数有多个参数,且只有部分参数有缺省值,那么应将具有缺省值的参数依次置于形参列表的右边。 若有以下函数的原型和变量说明:void fun (int, float=1.5, double=6.8);int a=5; float b=2.3; double c=3.6; 则以下调用形式为正确调用:fun ( a) ; fun (a, b) ; fun( a,b,c) ; 而f“un( );”为错误调用形式,“void fun (float =1.5, double=6.8, int );”为错误的原型说明。 5.4.1 函数参数的缺省值 所谓函数重载是指一个函数有多种定义,实现不同的功能。即函数具有相同的名称,不同的参数个数或者参数类型。 调用重载函数时,通过实参区分所调用的函数,而函数类型无法区分。 例5-15 定义重载函数,分别求解三角形、矩形和圆的面积。 程序设计(1) 求三角形面积函数double function(double , double , double ) ;(2) 求矩形面积函数double function(double , double ) ;(3) 求圆形面积函数double function(double) ; coutfunction(a)function(a,b)function(a,b,c); 5.4.2 函数重载 通过内联函数,在编译时将较简单的函数代码直接插入到调用处,以提高程序的运行效率。即用函数代码的拷贝替换函数调用语句,本质上是用存储空间换取运行时间。 定义内联函数的方法是在函数类型前加关键字inline。例如: inline int max (int a, int b){ return ab ? a:b ; } 关于内联函数的使用,需要说明以下几点:(1)内联函数仅限于简单的函数,函数体内不应包含循环、switch分支和复杂嵌套的if语句。(2)用户指定的内联函数,系统不一定将其处理为内联函数。 5.4.3 内联函数 5.5.1 变量作用域 变量的作用域是指变量的有效范围。 在C++中,变量的作用域主要分为五种,即块作用域、文件作用域、函数原型作用域、函数作用域和类作用域。 按作用域范围的不同,变量可分为全局变量与局部变量。 局部变量是指在某一语句块内说明的变量,其作用域仅限于该语句块; 全局变量是指不包含在任一块内的变量,即块外定义的变量,其作用域为整个源程序。 5.5 变量作用域与存储类型 1. 块作用域 语句块是指用花括号括起来的一部分语句。 局部变量是在语句块内说明的变量,其作用域仅限于该语句块,不能在变量所处语句块以外的地方使用该变量。 同一个作用域内,变量不能同名。 不同的作用域,允许同名,并按局部优先规则引用,即内层块的变量将屏蔽外层块的同名变量。 5.5.1 变量作用域 例5-16 分析以下程序的输出结果。 #include iostream.h void main( ) { int a=1; { int a=2; couta\n; } couta\n; } 5.5.1 变量作用域 程序输出为: 2 1 外层块 内层块 使用局部变量时注意以下3点:(1)函数体为一个块,其中定义的变量不能被其它函数使用。(2)形参属于局部变量,其作用域为函数体。(3)for语句的表达式1中说明的变量,作用域为包含for语句的语句块,而不是for语句的循环体。 例5-17 分析以下程序段的输出结果。void fun(int j)//fun(5);{ for(int i=0;i3;i++){ int i=2; couti*j‘\t’; } cout“\ni=”iendl;} 5.5.1 变量作用域 程序输出为: 10 10 10 i=3 思考: 能否把形参改为“int i” 2. 文件作用域 全局变量是在语句块外说明的变量,具有文件作用域,在整个
您可能关注的文档
最近下载
- 留守儿童学前教育毕业论文.docx VIP
- 热处理炉温均匀性测试标准SAE AMS2750F Rev.F 2020 英文版+中文版.pdf VIP
- 输入11到20带圈字符.doc VIP
- 固体比热容的测量.doc VIP
- 翻车机值班员岗位职责共3篇翻车机操作工岗位职责.docx VIP
- 【新教材】人教版(2024)八年级上册英语Unit 6 Plan for Yourself教案(表格式).docx
- 植筋、界面处理检验批质量验收记录表.doc VIP
- 实用营养与保健知到课后答案智慧树章节测试答案2025年春浙江大学.docx VIP
- 泌尿系结石PPT课件PPT课件.ppt
- 标准图集-20S515-钢筋混凝土及砖砌排水检查井.pdf VIP
原创力文档


文档评论(0)