- 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/C++的函数两种函数 函数调用与被调用关系 p77 4种函数类型 p78 第二节 函数原型及定义 定义和声明 两种声明格式 定义函数 定义函数 函数返回值类型 形参列表 形参和实参 p10 使用const形参 函数返回值 return语句 函数返回值1 函数返回值2 函数体 定义变量 函数接口的两个要素—参数和返回值 例:冒泡排序函数 例:插入排序函数 *函数设计 *函数设计 第三节 局部变量与全局变量 程序运行时在内存中的分布区域 p81 全局变量 全局变量初始化 全局变量的使用 局部变量 局部变量的使用 第四节 函数调用及机制 函数调用的三种形式 函数调用以及函数代码的执行过程 函数调用以及函数代码的执行过程 调用函数的栈机制 向函数传递数组 p128 传递给自定义函数ch7_5 第五节 静态局部变量 ch_5_2 对静态局部变量的说明 对静态局部变量的说明 第六节 递归函数 p87 直接递归调用 直接递归调用 间接递归调用 间接递归调用 间接递归调用 实现递归的条件 p88 递归例1:汉诺塔 汉诺塔的移动 分析 分析 分析结果 递归例2: 分析 两种实现方法 递归问题 第七节 内联函数 (C++) 例 p90 第八节 重载函数 (C++) 函数重载 如何实现重载 使用说明 第九节 默认参数的函数 默认参数的声明 多个形参的处理 默认参数的顺序规定 默认参数与函数重载 默认值的限定 四种新机制 递归函数 #include iostream.h int age(int); //函数声明 int main( ) { //主函数 coutage(5)endl; return 0; } int age(int n) //递归函数 { int c; if(n==1) c=10; else c=age(n-1)+2; return c; } 非递归函数 #include iostream.h int age(int); //函数声明 int main( ) { //主函数 coutage(5)endl; return 0; } int age(int n) //非递归函数 { int c=10; for(int i=2;i=n;i++); c+=2; return c; } 求两个数的最大公约数,求最小公倍数, 求斐波那契数列, 计算13 + 23 +33 +43 +…+n3 , 任意的正整数的逆向输出, 进制数的转换等等。 把函数体直接嵌入到函数调用处。 编译时在调用处用函数体进行替换,节省了参数传递、控制转移等开销。 内联函数——提高效率 用关键字inline定义 限制: 1、函数中不能有复杂的结构控制语句 2、递归函数不能用作内联函数 3、内联函数的声明必须出现在内联函数第一次被调用之前。 4、只适合于1~5行的小函数 #include iostream.h int isnumber(char); //函数声明 int main(){ char c; while((c=cin.get())!=\n) if( isnumber(c) ) //调用一个小函数,当条件不成立时 //反复被调用,反复进栈出栈 cout you entered a digit\n; else cout you entered a non_digit\n; } int isnumber(char ch) { //函数定义 return (ch=0 ch=9)? 1:0; } 如果将代码: return (ch=‘0’ ch=‘9’)? 1:0; 直接嵌入到if语句中: if((ch=‘0’ ch=‘9’)? 1:0) cout you entered a digit\n; 虽然可以提高效率,但是可读性较差。 #include iostream.h inline int isnumber(char); //函数声明 void main() { char c; while((c=cin.get())!=\n) if( isnumber(c) ) //调用一个小函数 cout you entered a digit\n; else
您可能关注的文档
最近下载
- 肠套叠护理PPT课件讲解PPT课件.pptx VIP
- (沪教版2024)二年级数学上册新教材解读课件.pptx
- 小儿肛管排气.pptx VIP
- 新解读《GB_T 5271.9 - 2001信息技术 词汇 第9部分_数据通信》最新解读.docx VIP
- 新解读《GB_T 18492-2001信息技术 系统及软件完整性级别》最新解读.docx VIP
- PPT灌肠操作及并发症处理.pptx VIP
- 基于ABAQUS的橡胶材料粘弹性特性仿真.docx VIP
- 《带式输送机概述》PPT课件.pptx
- 1 “钓鱼”游戏(课件)一年级上册科学人教鄂教版2025.ppt
- 山东理工大学2021-2022学年《Python程序设计》期末考试试卷(A卷)及标准答案.docx
文档评论(0)