C语言程序设计c7 函数.pptVIP

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

函数递归调用的定义:函数直接或间接的调用自身叫函数的递归调用。f()调f调f2调f1f1()f2()intf(intx){inty,z;……z=f(y);…….return(2*z);}intf1(intx){inty,z;……z=f2(y);…….return(2*z);}intf2(intt){inta,c;……c=f1(a);…….return(3+c);}7.4函数的递归调用说明C编译系统对递归函数的自调用次数没有限制每调用函数一次,在内存堆栈区分配空间,用于存放函数变量、返回值等信息,所以递归次数过多,可能引起堆栈溢出例7.5有5个人坐在一起,问第5个人多少岁?他说比第4个人大2岁。问第4个人多少岁?他说比第3个人大2岁。问第3个人多少岁?他说比第2个人大2岁。问第1个人多少岁?他说是10岁。求第5个人多少岁?算法分析:age(5)=age(4)+2age(4)=age(3)+2age(3)=age(2)+2age(2)=age(1)+2age(1)=10age(n)=age(n-1)+2(n1)age(n)=10(n=1)age(intn){ intc;if(n==1)c=10;elsec=age(n-1)+2;return(c);}main(){printf(%d\n,age(5));}例7.5的编程实现运行的结果为:70第7章函数7.17.27.37.4模块化程序设计函数的定义函数调用函数的递归调用7.5数组作为函数参数数组元素作函数实参——值传递例两个数组大小比较432105a562312107688432105b212343986654n=0m=0k=0in=0m=0k=1in=0m=1k=1in=1m=1k=1in=1m=1k=2in=2m=1k=2in=3m=1k=2a和b为有10个元素的整型数组比较两数组对应元素变量n,m,k记录a[i]b[i],a[i]==b[i],a[i]b[i]的个数最后若nk,认为数组ab若nk,认为数组ab若n==k,认为数组a==b#includestdio.hmain(){inta[10],b[10],i,n=0,m=0,k=0;printf(Enterarraya:\n);for(i=0;i10;i++) scanf(%d,a[i]);printf(Enterarrayb:\n);for(i=0;i10;i++) scanf(%d,b[i]);for(i=0;i10;i++){if(large(a[i],b[i])==1)n=n+1;elseif(large(a[i],b[i])==0)m=m+1;elsek=k+1;}/*Output*/}intlarge(intx,inty){intflag;if(xy)flag=1;elseif(xy)flag=-1;elseflag=0;return(flag);}7.5数组作为函数参数数组名作函数参数地址传递在主调函数与被调函数分别定义数组,且类型应一致形参数组大小(多维数组第一维)可不指定形参数组名是地址变量例求学生的平均成绩#includestdio.hfloataverage(intstu[10],intn);voidmain(){intscore[10],i;floatav;printf(Input10scores:\n);for(i=0;i10;i++)scanf(%d,s

文档评论(0)

趁早学习 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档