C语言中递归调用在算法中的作用,C语言中递归调用的算法研讨.pdf

襄阳职业技术学院学报

第 13卷 第3期 doi:13.39696.issn.2095-6584.2014.03.027

双 月刊 2014年 5月

C语言中递归调用的算法研究

任 伟 ,任正云

(荆楚理工学院, 湖北 荆门 448000)

摘 要:从循环结构与递归函数的关系、累计求和、字符串的翻转、程序设计大赛应用举例等方面对递归

算法构成规律进行了研究,给出了递归算法设计的主要任务,介绍了任务划分的方法。

关键宇:C语言;算法;递归调用

中图分类号:TP3l2 文献标识码 :A 文章编号:2095—6584(2014)03—0027—04

例等几个方面予以研究。

一 、 研究的理论基础

(一 )递 归与循环的关系

一 个函数在它的函数体 内调用它 自身的过程 顺序结构、分支结构和循环结构是程序设计的

称为递归调用 ,递归调用表现为直接调用 自己或间 三种基本结构 ,1211966年Bohm和Jacopini证明,由

接调用 自己两种方式 ,也就是一个函数的执行过程 这三种基本结构可以组成任何结构的算法,解决任

中出现直接或间接调用该函数 自身的行为。前者称 何问题。

为直接递归调用,后者称为间接递归调用。这种函 递归和循环都是利用计算机重复计算的功能,

数称为递归函数。① 都需要循环执行。循环是显示的使用一个循环结

递归函数的的设计有它特有的思考方式,其主 构 ,而递归是重复地进行函数调用,它们在某些项

要任务就是研究给定的任务 ,认真分析这个任务各 目中是可以相互替代的。递归是考虑问题的一种想

个环节有没有相似性 ,寻找这个相似性 ,它有两个 法 ,这种想法比较独特,总结起来就是把一个问题

阶段: 划分为三个任务 :简单的任务、相似性任务和出口

(1)递推阶段:将原问题不断地分解为新的子 的确定。下面通过几个例子来研究。

问题 ,逐渐从未知的向已知的方向推测,最终达到 1.简单的循环 :

已知的条件,即递归结束条件,这时递推阶段结束。 循环结构

(2)回归阶段 :从已知条件出发,按照 “递推”的 for(begin=0;begin

逆过程 ,逐一求值回归,最终到达 “递推”的开始处 , pfintff“%d\I1”,i);

结束回归阶段,完成递归调用。11] 实现的是一个印数功能。

下面我们用递归调用来实现。

二、递归函数的算法与实现研究

递归的思想就是要把一个大的任务分解成许

递归函数是 c语言中自调用函数 ,它有直接调 多小任务,这些小任务中有的可以立即理解解决,

用 自己和间接调用 自己的两种方式 ,它是 C语言中 有的任务的解决与原来任务的解决具有很多相似

常用的程序设计方法之一。下面从循环结构与递归 性,它们之间只是所处理等对象有规律地递增或者

函数的关系、字符串的翻转、程序设计大赛应用举 递减的不同。还有一个任务就是找出问题的出口,

收稿 日期 :2013—12—05

作者简介:任伟(199

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值