ch5-2.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
ch5-2,ch明明,chh,chrome,ch是什么意思,2ch,dotach,ch是什么牌子,cha,ch明明优酷空间

参数的传递方式:传值方式 void func(Type a); // Type为任意数据类型 void main( ) { Type x; func ( x ); } 传值参数的不足 参数的传递方式:传址方式 指针参数: void f (int * a); //形参a为整型指针,接收整型变量的地址 引用参数 void func( int x) ; //形参a为整型变量的引用,必须传递给它一个实际存在的整型变量 传递指针可以使函数“返回”更多的值 函数可以传递多个输入参数,参数可以采用传值和传址两种方式;当采用传址方式时,可以在被调函数中改变实参的值。 函数的传址参数也能起到返回结果的作用,函数运行的结果并不一定要用返回类型规定的返回值来反映。尤其是当函数有多个计算结果时,就必须采用传址参数来返回计算结果。 很多有返回值的函数往往不用返回值来存放函数的输出(如:运算结果),而是用它来表示函数执行状态。 引用是个别名,建立时用另一个变量或对象初始化,从那时起,引用作为目标的别名而使用,对引用做的改动实际上就是对目标的改动。 int a = 5; int ra = a ; ra = 8; // 相当于 a=8; 结论:引用传递性质像指针传递,书写形式像值传递。引用具有指针的威力,但是调用引用传递的函数时,可读性却比指针传递好;引用具有传值方式函数调用语法的简单与可读性,但威力却比传值方式强。 参数默认值(默认参数) 示例:我们要为周老师编写交党费时找零的函数 float GiveCharge(float money, float count, float price) { ?? return money - count * price; } 锦上添花--- 懒人之道? 因为每月需交的党费基本上不变,故第三个参数price可以采用默认值。 首先,函数的定义做一点改动: float GiveChage(float money, float count, float price = 1.0) { ?? return money - count * price; } 其次,如果价钱没有变,周老师找零时就可以这样调用:  float change = GiveChange( 100,5 ); //没有传递最后一个参数 参数默认值的具体规定 必须从最右边开始,然后连续地设置默认值。 “最右边” : 假如一个函数有多个参数,那么必须从最后一个参数开始设置默认值。 void function(int a, int b, bool c = false); //ok void function (int a, int b = 0, bool c);??? //error “连续”: 从最右边开始,可以连续地向左设置多个参数的默认值,而不能跳过其中几个: void function (int a, int b=0, bool c = false); //ok void function (int a=100, int b=0, bool c = false); //ok void function (int a=100, int b, bool c = false); //error 参数默认值的具体规定 如果在函数的声明里设置了参数默认值,那么就不参在函数的定义中再次设置默认值。 5.4 函数的递归调用 学而时习之,不亦乐乎? 解析: n=0时,n!=1; n=1时,n!= 1!=1(初始值) n1时,n!=n*(n-1)! (通项式) 数学递推式 递归函数 在执行函数 f 的过程中,又要调用 f 函数本身,称为函数的递归调用; 形式上:一个正在执行的函数调用了自身; 这种递归称之为直接递归 间接递归 函数体中没有直接调用自身函数,而是调用了另一个函数,在那个函数里,出现了调用本函数的语句 简单示例 例1:有4个人坐在一起,问第4个人多少岁?他说比第3个人大2岁。问第3个人岁数,他说比第2个人大2岁。问第2个人岁数,他说比第1个人大2岁。最后问第一个人,他说他是10岁。请问第4个人多大? 解析: age(4)=age(3)+2 age(3)=age(2)+2 age(2)=age(1)+2 age(1)=10 数学递推式: 程序实现 unsigned age (unsigned n) { if (n==1) return 10; else return age(n-1)+2; } void ma

文档评论(0)

badjka + 关注
文档贡献者

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

1亿VIP精品文档

相关文档