11对函数的进一步讨论.ppt

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

第十一章 对函数的进一步讨论; 在以往的程序中,main函数没有参数,如: void main( ) main函数可以有参数,例如: void main(int argc,char *argv[ ]) { };11.2 通过实参向函数传递函数名或 指向函数的指针变量;函数指针变量: 指向函数的指针变量,存放函数的入口地址;例 求a,b中的大者,一般方法; 用函数指针变量调用函数的步骤如下: 1、先定义函数指针变量, 如int (*p )( ); 定义 p为函数指针变量。 2、把被调函数的入口地址(函数名)赋予该函数指针变量。如 p=max; 3、用函数指针变量调用函数, 如 c= (*p)(a,b) 只需用(*p) 代替函数名即可 c = max(a,b) c = (*p)(a,b) ;2、函数名或指向函数的指针变量作为实参 ;例 用函数指针变量作参数,求最大值、最小值和两数之和; 11.3 函数的递归调用 ;ff ( ); 一个??题采用递归方法求解必须满足三个条件: 1、把求解的问题转化为一个新问题,而新问题的求解方法与原来的方法相同,只是所处理的对象有规律的递增或递减 2、 可以应用这个转化过程使问题得到解决 3、 必须有一个明确的使递归结束的条件 ;例 : 有5个人坐在一起,问第5个人多少岁?他说比第4个人大2岁。问第4个人岁数,他说比第3个人大2岁。问第3个人,又说比第2个人大2岁。问第2个人,说比第1个人大2岁。最后问第1个人,他说是10岁。请问第5个人多大。 ;age(5);可以用一个函数来描述上述递归过程: int age(int n) { int c; if(n==1) c=10; else c= age(n-1) +2; return(c); };void main ( ) { … printf(“%d”,age(5)); … }; 例11.3 求n的阶乘n! ;方法二:利用递归;void main ( ) { … L = fac(4); … }

文档评论(0)

小教资源库 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档