- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第四章 函数和作用域 本章内容 函数的定义和说明 函数的调用 函数的参数 内联函数 函数重载 函数的嵌套调用和递归调用 作用域 4.1函数的定义和说明 一.函数的定义 格式: 类型 函数名(〈参数表〉) { 〈语句数列〉;} 二.函数的说明方法 1.函数的声明。在C++中,函数的说明原则如下: *如果一个函数定义在先,调用在后,调用前可以不必说明。 *如果一个函数定义在后,调用在前必须说明。 2.声明函数的方法: 〈类型〉〈函数名〉{〈参数表〉}; 4.2函数的调用 一.函数的值和类型 1.调用格式: 〈函数名〉{〈实参表〉} 2.返回语句: 格式一: return表达式; 用于在带有返回值的被调用函数中,调用函数的值,即 被调用函数的返回值便是返回语句后面的表达式的值。 格式二: return; 只返回程序执行的控制权。 二.函数的传值调用 1.传值调用 实现机制是系统将实参的值拷贝一个副本给 形参。 2.传址调用 实现机制是将实参的地址值赋给对应的形参指针。 三.函数的引用调用 #include iostream.h void swap(int x , int y ) { int temp; temp=x; x=y; y=temp; } 在使用swap(a,b)调用该函数时,有x=a,y=b,这里的x和y均为引用类型,分别成为a,b的另一变量,x和a、y和b的值同时改变,从而达到实参交换的目的。 4.3函数的参数 一.函数参数的求值顺序 C++中没有规定在函数调用时实参的求值顺序。而编译器根据对代码进行优化的需要自行规定对实参的求值顺序。 例: int x=4, y=6; z=add_int(++x,x+y); 自左向右 5,11 自右向左 5,10 例:int add(int x, int y=7, int z=9) 二.设置函数的默认值 在C++中允许在函数说明或定义时给一个或多个参数指定了默认值. 4.4内联函数 一.作用 内联函数不是在调用时发生控制转移,而是在编译时将函数体嵌入在每一个调用语句处,这样就节省了参数传递、控制转移等开销。 二.定义格式: inline 类型说明 被调用函数名(形叁表) 三.使用说明: 1.内联函数体内不能有循环语句和 语句。 2.内联函数的定义必须出现在内联函数第一次被调用之前 4.5函数重载 函数的重载是指同一个函数名可以对应着多个函数的实现。函数重载要求编译器能够唯一地确定调用一个函数时应执行哪个函数代码。 一.参数类型不同的重载函数 #include iostream.h int abs(int x) { return x0 ? x:-x; } double abs(double x) {return x0 ? x:-x; } void main() { cout“-10的绝对值是:”abs(-10)endl; cout“-123.45的绝对值是:”abs(-123.45)endl; } #include iostream.h int min(int a,int b); int min(int a,int b,int c); int min(int a,int b,int c ,int d); void main() { coutmin(13,5,4,9)endl; } Int min(int a,int b) { return ab ? a:b; } int min(int a,int b, int c) {int t=min(a,b); Return min(t,c); } int min(int a,int b,int c,int d) { int t1=min(a , b
您可能关注的文档
最近下载
- 半导体物理学(第8版)刘恩科课后习题答案解析.pdf
- 《汽车理论》清华大学余志生版.pdf VIP
- 华为 GPON OLT 组播业务配置.pdf VIP
- 文华财经期货软件指标公式源码九转系列指标.doc VIP
- ISO37001-2016反贿赂管理体系手册与全套程序文件汇编.docx
- 信捷x-sight视觉系统使用手册v2.1a.pdf
- 二+宁夏闽宁镇:昔日干沙滩,今日金沙滩(教学设计)-【中职专用】高二语文上(高教版2023职业模块).docx
- GB50303-2015建筑电气工程施工质量验收规范.docx VIP
- 婴幼儿的科学喂养课件.pptx VIP
- 造林工程--施工工期与保证措施-工程进度计划及保证措施.doc VIP
文档评论(0)