- 1、本文档共30页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
#includestdio.hvoidfun(intp){ intd=0; d=d+p; if(d0)return; printf(%d,p);}main(){ inta=1; fun(a); printf(%d\n,a);}函数的声明#includestdio.h main(){ inta=1; fun(a); printf(%d\n,a);}voidfun(intp){ intd=0; d=d+p; if(d0)return; printf(%d,p);}fun是什么?程序有错!fun是我定义的函数啊,为什么不往下看?这儿已经出错,出错了我就不往下看了!定义fun函数,了解!fun是你定义的函数,我认得,正确!笨死了!函数的声明(2)#includestdio.hmain(){ inta=1; fun(a); printf(%d\n,a);}voidfun(intp){ intd=0; d=d+p; if(d0)return; printf(%d,p);}voidfun(int)喂!我有个函数fun,将下面定义,听到了吗?听到了!fun?刚才有人喊过,这是下面会定义的函数,不是错误。果然是在这里定义的嘛!程序没错,可以运行喽!p;#includestdio.hmain(){ inta=1; fun(a); printf(%d\n,a);}voidfun(intp){ intd=0; d=d+p; if(d0)return; printf(%d,p);}voidfun(int)函数的声明(2);函数的声明是函数定义头部+;声明被调函数,目的就是“告诉”计算机该函数的“样式”(也称函数的原型),使计算机今后可以识别该函数。可省略形参名,但只可省略形参名,其他均不可省!最后的;不可省!(可以省略形参名,或随意另起名);pxam声明时的形参名既可省略,也可随意另起名函数声明的位置在函数外声明:使得位于声明位置之后的所有函数内都可以调用被声明的函数。在函数内声明:使得仅在本函数内可以调用被声明的函数;main(){ floatadd(floatx,floaty); …… add(1,2); //能调用add函数}intfun(){ …… add(3,4); //未声明add,不能调用add}floatadd(floatx,floaty){ ……}doublefun2(intm){ add(5,6); //在定义之后,也能调用}函数的声明能调用add函数的区域函数的定义讲故事...函数的递归调用调用函数1函数1调用函数1函数2函数1调用函数直接或间接地自己调用自己,称为递归intf(intx){ ……f(y);……}递归的分析方法与嵌套调用类似。尽管每次调用的都是自身(同一函数),但要把每次所调用的函数都看作是不同的函数,这些函数都具有相同的参数、返回值和语句。直接调用自己间接调用自己求阶乘n!=n*(n-1)*(n-2)*…*3*2*1(1!=1,0!=1)n!=n*(n-1)!我要算4!赵钱孙李4!=4*3!钱,你去算3!,算好后告诉我哦!①要是有人问我1或0的阶乘,我就直接告诉他1。②要不我就再找个人,让他去算(n-1)的阶乘,我再乘n就行了,我才不一个个乘哩,嘿嘿。3!=3*2!孙,你去算2!,算好后告诉我哦!2!=2*1!李,你去算1!,算好后告诉我哦!1!就是1啊。12*1=223*2=6244*6=246intff(intn){ intf=0; if(n==0||n==1) f=1; else returnf;}求阶乘的人(要算n的阶乘?){ if(问1或0的阶乘) 结果=1; else { 再找个人求(n-1)的阶乘; 结果=n*他算的(n-1)的阶乘; } return结果;}ff f=n
您可能关注的文档
- Photoshop+SAI数字插画设计(第2版 微课版) 课件 第一篇 数字插画基础.pptx
- C语言程序设计基础(微课版) 课件 第4章选择结构.ppt
- C语言程序设计基础(微课版) 课件 第6章数组.ppt
- C语言程序设计基础(微课版) 课件 第8章指针.ppt
- C语言程序设计基础(微课版) 课件 第9章字符串.ppt
- C语言程序设计基础(微课版) 课件 第1章概述.ppt
- C语言程序设计基础(微课版) 课件 第10章变量的作用域、存储类别和编译预处理.ppt
- C语言程序设计基础(微课版) 课件 第11章自定义类型.ppt
- C语言程序设计基础(微课版) 课件 第12章文件.ppt
- 医疗新时代:创新与智能-跟随科技步伐,重塑医疗未来.pptx
文档评论(0)