Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Industrial programming >> Lenguaje C

Dominando la Recursividad en C: Buenas Prácticas y Condiciones de Salida

La recursividad es el proceso de repetir elementos de forma auto-similar. En lenguajes de programación, si un programa permite llamar a una función dentro de la misma función, se llama llamada recursiva de la función.

void recursion() {
    recursion(); /* la función se llama a sí misma */
}
int main() {
    recursion();
}

El lenguaje C soporta recursividad, es decir, una función puede llamarse a sí misma. Pero al usar recursividad, los programadores deben tener cuidado de definir una condición de salida de la función, de lo contrario entrará en un bucle infinito.

Las funciones recursivas son muy útiles para resolver muchos problemas matemáticos, como calcular el factorial de un número, generar la serie de Fibonacci, etc.

Factorial de un Número

El siguiente ejemplo calcula el factorial de un número dado usando una función recursiva:

#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 %d\n", i, factorial(i));
    return 0;
}

Al compilar y ejecutar, produce:

Factorial of 12 is 479001600

Serie de Fibonacci

El siguiente ejemplo genera la serie de Fibonacci para un número dado usando una función recursiva:

#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;
}

Al compilar y ejecutar, produce:

0
1
1
2
3
5
8
13
21
34

Lenguaje C

  1. C# Hola Mundo – Construyendo su primera aplicación en C#
  2. Entendiendo palabras clave e identificadores en C#: Reglas, listas y mejores prácticas
  3. Domine variables y tipos de datos primitivos en C#: Guía completa
  4. Operadores en C# – Guía completa de operadores en C#
  5. Dominando operadores bit a bit y de desplazamiento en C#: Guía completa
  6. Fundamentos de C#: Entrada y salida esenciales
  7. Expresiones, sentencias y bloques en C#: Guía completa con ejemplos prácticos
  8. Dominando los comentarios en C#: Tipos, mejores prácticas y documentación XML
  9. Sentencia break en C#: Cómo y cuándo usarla
  10. Dominando la sentencia continue en C#: Cómo saltar iteraciones de bucles eficazmente
  11. Dominando arrays en C#: Declaración, inicialización y operaciones