函数详解与应用实例资料.ppt

  1. 1、本文档共99页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
【例3.14】 输入一个整数,用递归算法将整数倒序输出。 分析:在递归过程的递推步骤中用求余运算将整数的各个位分离,并打印出来。 void backward(int n){ coutn%10; if(n10) return; else backward(n/10); } int main(){ int n; cout输入整数:endl; cinn; cout原整数:nendl反向数:; backward(n); coutendl; return 0;} 3.7 函数的递归调用【例3.14】 n=247 cout7; backward(24); n=2 cout2; return; n=24 cout4; backward(2); backward(247) return; return; coutendl; 求余总是取当前整数的最右一位,所以先输出余数后递归可实现倒序输出。如果先递归后输出余数,则是在回归的过程中输出,实现的就是正序输出。 【例3.15】采用递推法求解Fibonacii数列,本例的递归调用过程参见图3.10。 int fib(int n){ if(n==0) return 0; else if(n==1) return 1; else return fib(n-1)+fib(n-2);} int main(){ int i; for(i=0;i=19;i++){ //将19改为69,可以看出计算到后面越来越缓慢。 if(i%5==0) coutendl; coutsetw(6)fib(i);} coutendl; return 0;} 3.7 函数的递归调用【例3.15】 3.8.1 函数重载【例3.16】 3+5= 调用 sum(3,5 ) 函数sum(3,5 ) return 8 2.2+5.6= 调用sum(2.2,5.6 ) 函数double sum(2.2,5.6 ) return 7.8 3.5+4+8= 调用 sum(3.5, 4, 8 ) 函数float sum(3.5, 4.0, 8.0 ) return 15.5 结束 8 7.8 15.5 【例3.16】 重载函数的应用。 int sum(int a,int b){ return a+b; } Double sum(double a,double b){ return a+b; } float sum(float a,float b,float c){ return a+b+c; } int main(){ cout3+5=sum(3,5) endl; cout2.2+5.6= sum(2.2,5.6)endl; cout3.5+4+8= sum(3.5,4,8)endl; return 0;} 【例3.1 7】 默认参数。 void delay(int loops=5){ //延时函数,默认延时5个时间单位 for (; loops0; loops--); } int main(){ delay(3); cout延时3个时间单位endl; delay(); //等同于delay(5) cout延时5个时间单位endl; return 0; } 3.8.2 默认参数【例3.17】 1 2 3 延时3个时间单位 1 2 3 4 5 延时5个时间单位 3.9.1 头文件 自定义头文件: 除了系统定义的头文件外,用户还可以自定义头文件。对于具有外部存储类型的标识符,可以在其他任何一个源程序文件中经声明后引用,因此用户完全可以将一些具有外部存储类型的标识符的声明放在一个头文件中。具体地说,头文件中可以包括:用户构造的数据类型(如枚举类型),外部变量,外部函数、常量和内联函数等具有一定通用性或常用的量,而一般性的变量和函数定义不宜放在头文件中。 3.9.2 多文件结构 在开发较大程序时,通常将其分解为多个源程序文件,每个较小的程序用一个源程序文件建立。程序经过建立、编译、连接,成为一个完整的可执行程序。多文件结构通过工程进行管理,在工程中建立若干用户定义的头文件.h和源程序文件.cpp。头文件中定义用户自定义的数据类型,所有的程序实现则放在不同的源程序文件中。编译时每个源程序文件单独编译,如果源程序文件中有编译预处理指令,则首先经过编译预处理生成临时文件存放在内存,之后对临时文件进行编译生成目标文件.obj,编译后临时文件撤销。所有的目标文件经连接器连接最终生成一个完整的可执行文件.exe。 图

文档评论(0)

liqun + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档