0Pricing
C Academy · Leçon

Récursivité en C

Découvrez les fonctions récursives, comprenez leurs cas d’utilisation et analysez la récursivité par rapport à l’itération.

Récursivité en C est une leçon C Academy gratuite sur CoddyKit. Ceci est la leçon 3 sur 3. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage C Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours C Academy comprend 3 leçons au total.

Récursivité en C

Récursivité en C

La récursivité est une technique selon laquelle une fonction s’appelle elle-même pour résoudre un problème.

Dans cette leçon, vous apprendrez :

  • Ce qu’est la récursivité et comment elle fonctionne.
  • Comment implémenter des fonctions récursives.
  • La différence entre la récursivité et l’itération.
Récursivité en C — illustration 1

Qu’est-ce que la récursivité ?

Qu’est-ce que la récursivité ?

La récursivité intervient lorsqu’une fonction s’appelle elle-même pour résoudre une partie plus petite d’un problème.

Exemple de syntaxe :

void function() { function(); // Recursive call }

Toute fonction récursive doit comporter un cas de base afin d’éviter une récursivité infinie.

Exemple : récursivité

Exemple : récursivité

Ce programme illustre la récursivité en affichant les nombres de 5 à 1.

#include <stdio.h>

void countDown(int n) {
    if (n <= 0) return; // Base case
    printf("%d\n", n);
    countDown(n - 1); // Recursive call
}

int main() {
    countDown(5);
    return 0;
}

Cas de base de la récursivité

Cas de base de la récursivité

Une fonction récursive doit comporter un cas de base pour arrêter la récursivité.

Exemple :

if (n == 0) return;

Sans cas de base, la fonction s’appellera indéfiniment, ce qui provoquera un débordement de pile.

Exemple : factorielle avec la récursivité

Exemple : factorielle avec la récursivité

Ce programme calcule la factorielle d’un nombre à l’aide de la récursivité.

#include <stdio.h>

int factorial(int n) {
    if (n == 0) return 1; // Base case
    return n * factorial(n - 1);
}

int main() {
    printf("Factorial of 5: %d\n", factorial(5));
    return 0;
}

Récursivité et itération

Récursivité et itération

La récursivité et l’itération (les boucles) peuvent produire les mêmes résultats, mais elles fonctionnent différemment.

Différences :

  • La récursivité utilise des appels de fonctions et nécessite davantage de mémoire.
  • L’itération utilise des boucles et est généralement plus efficace.
  • La récursivité simplifie le code pour des problèmes tels que le parcours d’un arbre.

Exemple : suite de Fibonacci (récursive)

Exemple : suite de Fibonacci (récursive)

Ce programme calcule la suite de Fibonacci à l’aide de la récursion.

#include <stdio.h>

int fibonacci(int n) {
    if (n <= 1) return n;
    return fibonacci(n - 1) + fibonacci(n - 2);
}

int main() {
    printf("Fibonacci(5): %d\n", fibonacci(5));
    return 0;
}

Quand utiliser la récursion ?

Quand utiliser la récursion ?

La récursion est utile pour les problèmes qui impliquent :

  • Le parcours d’arbres.
  • Le retour sur trace (par exemple, pour résoudre des labyrinthes).
  • Des problèmes mathématiques comme la factorielle et la suite de Fibonacci.

Récapitulatif

Récapitulatif

Dans cette leçon, vous avez appris :

  • Ce qu’est la récursion et comment elle fonctionne.
  • L’importance d’un cas de base.
  • La différence entre la récursion et l’itération.

Vous découvrirez ensuite les tableaux et les chaînes de caractères en C !

Récursivité en C — illustration 9

Questions Fréquemment Posées

La leçon « Récursivité en C » est-elle gratuite ?

Oui — le texte complet de « Récursivité en C » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours C Academy, passe à CoddyKit PRO. Le cours C Academy comprend 3 leçons au total.

Qu'est-ce que j'apprendrai dans « Récursivité en C » ?

Découvrez les fonctions récursives, comprenez leurs cas d’utilisation et analysez la récursivité par rapport à l’itération. Tu pratiques C Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer C Academy ?

Aucune expérience préalable n'est requise. C Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 3 sur 3.

Combien de temps prend la leçon « Récursivité en C » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon C Academy ?

Oui. Chaque leçon C Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Définition et appel de fonctions
  2. Prototypes de fonctions et portée
  3. Récursivité en C
← Retour à C Academy