Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Industrial programming >> Linguagem C

C - Recursão


A recursão é o processo de repetir itens de maneira auto-semelhante. Em linguagens de programação, se um programa permite que você chame uma função dentro da mesma função, ela é chamada de chamada recursiva da função.
void recursion() {
   recursion(); /* function calls itself */
}

int main() {
   recursion();
}

A linguagem de programação C suporta recursão, ou seja, uma função para chamar a si mesma. Mas ao usar a recursão, os programadores precisam ter cuidado para definir uma condição de saída da função, caso contrário ela entrará em um loop infinito.

Funções recursivas são muito úteis para resolver muitos problemas matemáticos, como calcular o fatorial de um número, gerar séries de Fibonacci, etc.

Número fatorial


O exemplo a seguir calcula o fatorial de um determinado número usando uma função recursiva −
Demonstração ao vivo
#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;
}

Quando o código acima é compilado e executado, ele produz o seguinte resultado -
Factorial of 12 is 479001600

Série de Fibonacci


O exemplo a seguir gera a série de Fibonacci para um determinado número usando uma função recursiva −
Demonstração ao vivo
#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;
}

Quando o código acima é compilado e executado, ele produz o seguinte resultado -
0	
1	
1	
2	
3	
5	
8	
13	
21	
34

Linguagem C

  1. C# Hello World - Seu primeiro programa em C#
  2. Palavras-chave e identificadores C#
  3. Variáveis ​​C# e tipos de dados (primitivos)
  4. Operadores C#
  5. Operadores C# Bitwise e Bit Shift
  6. Entrada e saída básica em C#
  7. Expressões, instruções e blocos em C# (com exemplos)
  8. Comentários em C#
  9. Instrução C# break
  10. C# continue declaração