- 1、本文档共89页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第05 函数
第5章 函数 本章要点 了解标准(预定义)函数,并学会怎样在程序中使用它们 如何定义函数 领会函数调用的内部实现机制 区分函数声明和定义 理解值参数和引用参数的区别 了解引用参数和带有返回值的函数 了解带有默认参数的函数 理解并运用递归、内联、重载函数 理解标识符的作用域 了解局部变量、静态变量和全局变量的区别 主要内容 概述 库函数的使用 函数的定义与调用 函数的原型声明 函数的嵌套调用和递归调用 内联函数 函数重载 作用域和存储类别 一个简单的函数调用例 5.1 C++ 程序的构成 由函数构成。 函数:一个独立完成某个功能的语句块,函数与函数之间通过(输入)参数和返回值(输出)来联系。 执行流程:从main( )函数开始,顺序执行。遇函数调用语句,转入被调函数,执行完毕,返回主调函数。 一个程序中函数调用的示意图 函数分类 从用户角度来看 系统库函数 ( 如:sqrt( )、fabs( ) )标准函数 函数 自定义函数 ( 如:printstar( )、 maxx( ) ) 从函数的形式来看 无参函数 ( 如:printstar( ) ) 函数 有参函数 ( 如:maxx(x, y) ) 库函数的使用 调用C++语言标准库函数时要求用include命令 例如: #include math.h 或 #include math.h 函数的定义 分为两种: 无参函数的定义 有参函数的定义 无参函数的定义形式 [类型标识符] 函数名( void ) //函数的首部 { …... //函数体 } 有参函数的定义形式 函数的返回值 格式:return 表达式 ; 或 return (表达式); 或 return ; 函数的调用 函数语句 例:printstar( ); (前例) 函数表达式 例:c=min(a, b); 形参和实参 形参:即形式参数 定义时函数名后面的变量名 实参:即实际参数 调用函数时函数名后面括号中的表达式 传值调用示意 一般来说,形参和实参个数、类型应一致。 形参、实参占用不同的内存单元。 传值调用的例子 例5.4 #include iostream.h//li0504.cpp 理解传值调用 void swap(int x,int y) { int t; t=x; x=y; y=t; coutx=x,y=yendl; } void main( ) { int a(4),b(5); //等价于int a=4,b=5; swap(a,b); couta=a,b=bendl; } 形参变化不会影响实参示图 进一步理解传值调用 例5.5 #include iostream.h void swap(int a, int b) { int t; t=a; a=b; b=t; couta=a,b=bendl; } void main( ) { int a(4), b(5); //等价于int a=4, b=5; swap(a, b); couta=a,b=bendl; } 函数的引用调用 函数需要改变传递给它的实参的值时使用 函数实参的求值顺序例5.6 #include iostream.h int fun(int a, int b) { return b; } void main( ) { int x(5),y(6); int z=fun( x- -,x+y ); coutzendl; } 设置函数形参的默认值例5.7 #include iostream.h void fun(int x=1,int y=2,int z=3) { coutx=x,y=y,z=zendl; } void main( ) { fun( ); fun(5); fun(5,6); fun(5,6,7); } 设置函数形参的默认值注意 默认值集中在形参的右边 int fun1(int a, int b=1, int c=2); 合法 int fun1(int a=1, int b, int c=2); 不合法 函数原型声明语句格式 格式1: [数据类型] 函数名 ([形式参数列表]); 格式2: [数据类型] 函数名 ([形式参数类型列表]); 函数原型声明 例5.8 #include iostream.h void main( ) { int min(int, int); //函数原型声明,也可以放在main( )函数之前 int a, b, mv;
文档评论(0)