C++ 递归2025 年 4 月 25 日 | 7 分钟阅读 在 C++ 中,递归函数是直接或间接在同一函数内调用自身的函数。它必须包含至少一个基类和一个递归条件。基类有助于在条件完成后终止条件。另一方面,递归条件有助于代码的重复。在 C++ 中,递归函数将继续循环,直到不满足基条件。 ![]() 语法它具有以下语法: 在此语法中,我们采用了一个名为(数据类型参数 1…)的函数,该函数声明为“recursion”并传递了多个参数。在这里,递归函数多次调用自身。 C++ 递归的简单示例让我们举一个简单的例子,使用 C++ 中的递归来查找阶乘。 示例编译并运行输出 Enter the Positive Number: 6 Factorial of 6 is: 720 说明 在此示例中,我们使用了 fact() 函数,该函数正在调用自身。但是,我们在每次调用时都将 num 的值减小了 1。当 num 小于 1 时,fact() 函数返回输出。 C++ 中的递归如何工作?在 C++ 中,递归使用了两种情况,即基条件和递归条件。 1. 基条件在 C++ 递归中,基类是一种条件,一旦匹配,它有助于终止条件。它定义了函数不再调用自身的最简单场景。基条件定义了递归何时应该停止。它防止了无限递归和堆栈溢出。它确保函数到达停止点。 2. 递归条件在 C++ 中,递归条件是函数使用修改后的参数调用自身的情况,该参数趋向于基条件。它有助于代码的重复。 递归函数的类型递归函数主要有两种类型。它们如下
直接递归在 C++ 中,当函数直接调用自身时,就会发生直接递归。 语法 它具有以下语法: 使用直接递归的 C++ 斐波那契数列示例让我们举一个例子来说明 C++ 中使用直接递归的斐波那契数列。 示例编译并运行输出 Enter the Number: 5 Fibonacci Series: 0 1 1 2 3 说明 在此示例中,我们使用了一个整数 fibonacci (int num) 函数,该函数调用直接递归函数。我们还使用 (num==0) 和 (num==1) 作为基条件。之后,用户被要求输入数字,然后 for 循环开始根据给定条件打印 斐波那契 数。最后,它在控制台中打印输出。 间接递归在 C++ 中,当两个或多个函数以循环方式相互调用时,就会发生间接递归。 语法 它具有以下语法: 使用间接递归的 C++ 阶乘数示例让我们举一个例子,使用 C++ 中的间接递归来查找阶乘数 示例编译并运行输出 Enter the Number: 6 Factorial of 6 = 720 说明 在此示例中,我们使用了两个函数,其中 factA(int n) 函数使用 factB 函数计算阶乘,而 factB(int n) 函数使用 factA 计算阶乘。之后,发生间接递归,因为 factA(n) 调用 factB(n-1),而 factB(n) 调用 factA(n-1)。 在 main() 函数中,程序要求用户输入数字并调用 factA(num) 来计算阶乘。最后,它在控制台中打印输出。 使用递归检查素数的 C++ 程序让我们举一个例子,使用 C++ 中的递归来检查素数。 示例编译并运行输出 Enter the Integer Number: 5 It is a Prime Number 说明 在此示例中,primeNum() 函数是一个递归函数,它根据给定条件调用自身并检查给定数字是否为素数。 C++ 中的嵌套递归在 C++ 中,嵌套递归是一种间接递归,其中递归函数在其自身的递归调用中创建另一个递归调用。它主要用于解决复杂的数学和算法问题。 C++ 中的 C++ 嵌套递归示例让我们举一个例子来说明 C++ 中的嵌套递归。 示例编译并运行输出 Enter the Number: 130 The Output is: 145 C++ 中递归的优缺点C++ 中递归的几个优缺点如下 C++ 中递归的优点
C++ 中递归的缺点
递归和迭代的区别以下是递归和迭代的表格比较
C++ 递归 MCQ1. 以下哪个选项显示了 C++ 中递归的正确属性?
答案: (d) 以上所有选项 2. C++ 递归函数中定义了多少个基条件?
答案: b) 一个 3. 给定的 C++ 程序的结果是什么?
答案: b) 10 4. 以下哪个数据结构用于管理 C++ 递归中的函数调用?
答案: c) 堆栈 5. 给定的 C++ 程序的输出是什么?
答案: d) 1 3 5 7 下一主题C++ 中的存储类 |
在 C++ 中,内联函数是使用 inline 关键字定义的函数。在内联函数中,编译器在编译时将函数调用替换为函数的原始代码。其主要目的是提高...
7 分钟阅读
(auto, register, extern, mutable) 在 C++ 中,存储类是定义程序中变量(如 auto, register, static 等)的生命周期、作用域和存储位置的关键字。存储类指定了 C++ 程序中如何为变量分配和释放内存。语法:它...
阅读9分钟
C++ 语言中的函数在其他编程语言中也称为过程或子例程。程序将函数实现为独立的、完成单一任务的代码块,开发人员可以重复调用它们。通过使用函数可以提高编程效率和组织性...
阅读 8 分钟
C++ 中的传值调用和传引用调用 在 C 语言中,有两种向函数传递值或数据的方法:传值调用和传引用调用。原始值在传值调用中不修改,但在传引用调用中修改...
阅读 6 分钟
我们请求您订阅我们的新闻通讯以获取最新更新。
我们提供所有技术(如 Java 教程、Android、Java 框架)的教程和面试问题
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India