- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
[工学]函数--递归等
例 有一n级台阶的楼梯,上楼时可一步跨一级、两级、三级。 问登上这n级楼梯共有多少种跨级的方法? int a=9; main( ) { int b=2; fac(b); } extern int a; fac(int x) { int z; z=x?a; ….. } 文件f1.c 文件f2.c用到f1.c 中的a 2.在多个文件的程序中声明全局变量 程序设计 第七章 函 数 C 5)用static声明全局变量 static int a=9; main( ) { int b=2; fac(b); } extern int a; fac(int x) {int z; z=x?a; ….. } 文件f1.c 文件f2.c a只被f1.c中各函数用,其他文件是不能用的 文件f2.c想用f1.c 中的a 程序设计 第七章 函 数 C 7.10 内部函数和外部函数 函数本身在一个文件中为全局的,即一个文件中定义的函数可被该文件的所有其它函数调用。 一、内部函数–––只能在本文件中调用 但函数能否被其它文件中的函数所调用呢? 为此分为: 内部函数、外部函数 static 类型标识符 函数名(形参表) 程序设计 第七章 函 数 C 例: static int max (int a,int b) { ………. } 则该函数max只能被本文件中的其它函数引用,而不能被其它文件中的函数引用。 程序设计 第七章 函 数 C 既可被本文件中的函数调用,也可被其它文件中的函数调用。 extern 类型标识符 函数名(形参表) 一般系统在调用外部函数的函数中用extern说明外部函数。 二、外部函数 extern可省略 程序设计 第七章 函 数 C * 轻轻松松学习程序设计 程序设计 第七章 函 数 C 如何将程序设计“自顶向下、逐层分解”的设计理念,融入到程序设计当中? 重点 7.6 函数的递归调用 重点、难点 7.8 局部变量与全局变量 7.9 变量的存储类别 7.10 内部函数和外部函数 本次课程讨论的问题 程序设计 第七章 函 数 C 本次课程讨论的问题 递归的概念 递归程序举例 递归程序写法总结 进一步应用 优缺点探讨 程序设计 第七章 函 数 C 印度古老传说 开天辟地的神勃拉玛在一个庙里留下了三根金刚石的棒,第一根上面套着64个圆金片,最大的一个在底下,依次叠上去一个比一个小。规定:可用中间的一根棒作为帮助,每次只能搬一个,且小压大。64个金片移动次数为:18,446,744,073,709,551,615 ! §7.6 函数的递归调用 定义:函数直接或间接的调用自身叫函数的递归调用 f( ) 调f 调f2 调f1 f1( ) f2( ) 说明 C编译系统对递归函数的自调用次数没有限制 每调用函数一次,在内存堆栈区分配空间,用于存放函数变量、返回值等信息,所以递归次数过多,可能引起堆栈溢出 int f(int x) { int y,z; …… z=f(y); ……. return(2*z); } int f1(int x) { int y,z; …… z=f2(y); ……. return(2*z); } int f2(int t) { int a,c; …… c=f1(a); ……. return(3+c); } 程序设计 第七章 函 数 C 程序设计 第七章 函 数 C 想一想: 函数的递归调用一般用于什么情况? 你能举出几个例子吗? 程序设计 第七章 函 数 C 例: 用递归方法求n!。 n!= 1 n=0,1 n *(n-1)! n1 main( ) { int i; for(i=1;i=25;i++) printf(%d!=%-24.0f\n,i,fac(i)); } do
您可能关注的文档
最近下载
- (高清版)DGJ 08-98-2014 机动车停车场(库)环境保护设计规程.docx VIP
- 《南京夫子庙秦淮河市集调研》课件.ppt VIP
- 司法协理员面试问题及答案.docx VIP
- 养殖污水处理课件.pptx
- 井巷冒顶片帮(必)讲稿.ppt VIP
- 第8课《在实践中提高认识能力》第1框《透过现象认识本质》同步课堂精品课件-【中职专用】《哲学与人生》.pptx VIP
- 聚焦户外混龄游戏,助推幼儿社会性发展.docx VIP
- 医务人员职业防护ppt课件.pptx VIP
- 广东省广州市2025-2026学年九年级上学期开学摸底考语文试卷(含答案).pdf VIP
- 2025年芜湖市12345政务服务便民热线招聘笔试参考题库附答案解析.docx VIP
文档评论(0)