作业帮 > 综合 > 作业

递归算循环结构吗c语言有三种结构:顺序,选择,循环.那么递归也应该可以归纳为这三种结构中的一种吧,或者说循环结构是由递归

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/27 12:31:39
递归算循环结构吗
c语言有三种结构:顺序,选择,循环.那么递归也应该可以归纳为这三种结构中的一种吧,或者说循环结构是由递归和迭代来实现的,
顺序,选择,循环是结构化语言的三种基本结构,C语言是一种结构化语言,因此用其编写的程序也有这三种基本结构组成.递归和迭代不属于是程序结构的范畴,是一种算法思想.即使用递归算法和迭代算法解决某类问题.如果使用结构化语言实现这些算法,其编写出来的程序依然由顺序,选择,循环三种基本结构构成.
再问: 好吧,我初学c,所以杂糅了,谢谢你的解惑。但我第二个问题还是没有解决:即有关顺序结构的算法实现,递归和迭代是实现顺序结构的主要算法,对吗?
再答: 1. 顺序结构只是一种代码的基本结构,应该说用顺序,选择,循环三种基本结构组成的程序可以实现递归和迭代算法。 2. 例如下面这个分支结构的程序实现了一个递归算法,其功能是求1 + 2 +...+ n的和 int fn(int n) { if (n < 1) return 0; //表示错误 else if (n == 1) return n; else return n + fn(n - 1) } 3. 顺序,选择,循环描述的是构成程序的语句之间的关系。 4. 例如2中的同样功能我们也可以使用循环结构来实现,此时就不是使用递归算法了。 int fn(int n) { int i, sum = 0; for(i = 1; i