亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Industrial programming >> C语言

C 语言递归编程精要:最佳实践与退出条件设计

递归是以自我相似方式重复项目的过程。在编程语言中,若程序允许函数在内部调用自身,则称为函数的递归调用。

void recursion() {
    recursion(); /* 函数调用自身 */
}
int main() {
    recursion();
}

C 语言支持递归,即函数可调用自身。但使用递归时,程序员必须小心定义函数的退出条件,否则将陷入无限循环。

递归函数解决多数学问题非常有用,如计算阶乘、生成斐波那契数列等。

数字阶乘

以下示例使用递归函数计算给定数字的阶乘:

Live Demo
#include <stdio.h>
unsigned long long int factorial(unsigned int i) {
    if (i <= 1) {
        return 1;
    }
    return i * factorial(i - 1);
}
int main() {
    int i = 12;
    printf("Factorial of %d is %llu\n", i, factorial(i));
    return 0;
}

编译执行输出:

Factorial of 12 is 479001600

斐波那契数列

以下示例使用递归函数生成给定数字的斐波那契数列:

Live Demo
#include <stdio.h>
int fibonacci(int i) {
    if (i == 0) {
        return 0;
    }
    if (i == 1) {
        return 1;
    }
    return fibonacci(i-1) + fibonacci(i-2);
}
int main() {
    int i;
    for (i = 0; i < 10; i++) {
        printf("%d\t\n", fibonacci(i));
    }
    return 0;
}

编译执行输出:

0
1
1
2
3
5
8
13
21
34

C语言

  1. C# Hello World — 构建你的第一个C#应用程序
  2. C#关键字与标识符:规则、完整列表与最佳实践
  3. 精通C#变量与基础数据类型:完整指南
  4. C#运算符——C#运算符全面指南
  5. 掌握 C# 位运算与移位运算符:全面指南
  6. C# 基础:输入输出核心技巧完全指南
  7. C# 表达式、语句与代码块:全面指南与实战示例
  8. 掌握 C# 注释:类型、最佳实践与 XML 文档注释
  9. 掌握 C# switch 语句:语法、示例与最佳实践
  10. C# break 语句:用法、时机与实战示例
  11. 掌握 C# continue 语句:高效跳过循环迭代的实战指南
  12. 掌握 C# 数组:声明、初始化与核心操作完全指南