欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    C语言知识学习函数递归调用.ppt

    • 资源ID:3687446       资源大小:2.59MB        全文页数:9页
    • 资源格式: PPT        下载积分:8金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要8金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    C语言知识学习函数递归调用.ppt

    第6章 函 数,函数的递归调用,函数的递归调用,在调用一个函数的过程中,出现直接或间接地调用该函数本身,称为函数的递归调用。,int f (int x) int z; if(x=0) return 1; if(x0) z=f (x-1); else if(x<0) z=f (x+1); return (2*z); ,例1:函数的递归调用,#include void recur(int); int main (void) recur(1); return 0; void recur(int n) /递归函数 printf(第%d级调用n, n); /1 if (n < 4) recur(n+1); /递归 printf(第%d级返回n, n); /2 ,输出结果: 第1级调用 第2级调用 第3级调用 第4级调用 第4级返回 第3级返回 第2级返回 第1级返回,解析: 从结果可以看出,1和2相当于循环体,当符合测试条件(即n<4)时,#1部分循环;当测试条件为false时,2部分循环。 在递归函数中,位于递归调用之前的语句(即1部分),按被调函数(即recur())的顺序执行;位于递归调用之后的语句(即2部分),按被调函数相反的顺序执行。 每级函数调用都有自己的变量,递归调用就相当于又从头开始执行函数的代码。 每次函数调用都会返回一次,并且按顺序逐级返回递归。,例2:函数的递归调用,#include int fun(int n) /定义函数 if(n=0|n=1) n=1; else n=n*fun(n-1); /递归调用函数 return n; int main() int i,j; printf(请输入一个数字:n); scanf(%d, ,例3:函数的递归调用,有3个人坐在一起,问第3个人多少岁?他说比第2个人大2岁。问第2个人多少岁?他说比第1个人大2岁。最后问第1个人,他说是10岁。请问第3个人多大? 分析: age(3)=age(2)+2; age(2)=age(1)+2; age(1)=10; 归纳: n=1 age(n)=10 n1 age(n)=age(n-1)+2,程序如下: #include int age(int n) int c; if (n = 1) c = 10; else if (n 1) c = age(n - 1) + 2; return c; int main(void) printf(“%d”, age(3); return 0; ,程序执行过程如下: int main(void) printf(“%d”, age(3); int age(3) int c; c = age(2) + 2; return c; int age(2) int c; c = age(1) + 2; return c; ,int age(1) int c; c = 10; return c; ,例4:函数的递归调用,课堂习题,#include void func1(int i);void func2(int i);char st = hello,friend!; void func1(int i) printf(%c, sti); if (i < 3) i += 2; func2(i); ,void func2(int i) printf(%c, sti); if (i < 3) i += 2; func1(i); int main(void) int i = 0; func1(i); return 0; ,A) helloB) helC) hloD) hlm,1下列程序执行后的输出结果是( ),2有如下程序: #include int func(int a, int b) return (a+b); int main(void) int x = 2, y = 5, z = 8, r ; r = func( func(x, y), z); printf(“%dn”, r);return 0; 该程序的输出的结果是( )。 A) 12B) 13C) 14D) 15,3下面程序的输出结果是( )。 #include int f(int a, int b); int main(void) int i = 2, p; p = f( i, i + 1 ); printf( “%d”, p); return 0; int f( int a, int b) int c; if (a b) c = 1; else if (a = b) c = 0; else c = -1; return c; A) 1B) 0C) 1D) 2,

    注意事项

    本文(C语言知识学习函数递归调用.ppt)为本站会员(小**)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开