c041模块化与函数 ppt课件.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
c041模块化与函数 ppt课件

函数的嵌套调用 嵌套调用 C++规定:函数定义不可嵌套,但可以嵌套调用函数 运行结果如下:18 函数调用过程如图所示 递归总结 一个问题若要采用递归来解决时,要满足: 可以把要解决的问题转化为一个新的问题,而这个新的问题的解法与原来的解法相同,只是所处理的对象有规律的递增或递减。 可以应用这个转化过程使问题得到解决。 必定要有一个明确的结束递归的条件,一个可以得到解的基本情况。 内置函数(内联函数) 在编译时将所调用函数的代码直接嵌入到主调函数中,而不是将流程转出去。 指定内置函数,只需在函数首行的左端加一个关键字inline。 例4.4 函数指定为内置函数。 #include iostream using namespace std; inline int max(int,int, int); //函数声明,注意左端有inline int main( ) {int i=10,j=20,k=30,m; m=max(i,j,k); cout″max=″mendl; return 0; } inline int max(int a,int b,int c) //定义max为内置函数 {if(ba) a=b; //求a,b,c中的最大者 if(ca) a=c; return a; } 注意:inline可以写在声明函数或定义函数时 优点:内置函数节省运行时间 缺点:增加了目标程序的长度。 对内置函数的要求: 规模很小,一般为5个语句以下 使用频繁的函数 不包括复杂的控制语句,如循环语句和switch语句 函数重载 函数起名字——注意什么? ——见名之意 max1,max2,max3 函数调用的时候——注意什么?? 参数类型一致,从左到右 int max(int ,int,int) long max(long, long, long) double max(double , double , double ) 函数的重载——“一名多用” 函数的重载:一组概念相同,处理对象(参数)不同的过程,出于方便编程的目的,用同一个函数名字来命名的技术称为函数重载 重载是不同的函数,以参数的类型,个数和顺序来分辨 函数体可以相同也可以不同 例4.5 求3个数中最大的数(分别考虑整数、双精度数、长整数的情况)。 #include iostream using namespace std; int main( ) {int max(int a,int b,int c); //函数声明 double max(double a,double b,double c); //函数声明 long max(long a,long b,long c); //函数声明 int i1,i2,i3,i; cini1i2i3; //输入3个整数 i=max(i1,i2,i3); //求3个整数中的最大者 cout″i_max=″iendl; double max(double a,double b,double c) { if(ba) a=b; if(ca) a=c; return a; } long max(long a,long b,long c) { if(ba) a=b; if(ca) a=c; return a; } 例4.6参数个数不同的重载。 #include iostream using namespace std; int main( ) {int max(int a,int b,int c); //函数声明 int max(int a,int b); //函数声明 int a=8,b=-12,c=27; cout“max(a,b,c)=“max(a,b,c)endl; cout“max(a,b)=“max(a,b)endl; return 0; } int max(int a,int b,int c) { if(ba) a=b; if(ca) a=c; return a; } int max(int a,int b) { if(ab) return a; else return b; } 运行情况如下: max(a,b,c)=27 max(a,b)=8 两次调用max函数的参数个数不同,系统就根据参数的个数找到与之匹配的函数并调用它。 重载注意事项 in

文档评论(0)

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

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

1亿VIP精品文档

相关文档