Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Industrial programming >> Langue C

C - Récursivité

La récursivité est le processus de répétition d'éléments de manière auto-similaire. Dans les langages de programmation, si un programme vous permet d'appeler une fonction à l'intérieur de la même fonction, cela s'appelle un appel récursif de la fonction.

void recursion() {
   recursion(); /* function calls itself */
}

int main() {
   recursion();
}

Le langage de programmation C prend en charge la récursivité, c'est-à-dire une fonction à appeler elle-même. Mais lors de l'utilisation de la récursivité, les programmeurs doivent faire attention à définir une condition de sortie de la fonction, sinon elle entrera dans une boucle infinie.

Les fonctions récursives sont très utiles pour résoudre de nombreux problèmes mathématiques, comme le calcul de la factorielle d'un nombre, la génération de séries de Fibonacci, etc.

Facteur numérique

L'exemple suivant calcule la factorielle d'un nombre donné à l'aide d'une fonction récursive −

Démo en direct
#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;
}

Lorsque le code ci-dessus est compilé et exécuté, il produit le résultat suivant −

Factorial of 12 is 479001600

Série Fibonacci

L'exemple suivant génère la série de Fibonacci pour un nombre donné à l'aide d'une fonction récursive −

Démo en direct
#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;
}

Lorsque le code ci-dessus est compilé et exécuté, il produit le résultat suivant −

0	
1	
1	
2	
3	
5	
8	
13	
21	
34

Langue C

  1. C# Hello World - Votre premier programme C#
  2. Mots-clés et identifiants C#
  3. Variables C# et types de données (primitifs)
  4. Opérateurs C#
  5. Opérateurs de bits et de décalage de bits C#
  6. Entrée et sortie de base C#
  7. Expressions, instructions et blocs C# (avec exemples)
  8. Commentaires C#
  9. Instruction de rupture C#