Exercices C/C++ pour débutants

La suite de Fibonacci en C et C++

Dans cette leçon, vous allez afficher les 10 premiers nombres de la suite de Fibonacci avec seulement deux variables et une boucle.

Introduction

La suite de Fibonacci commence par 0 et 1, et chaque nombre suivant est la somme des deux précédents : 0, 1, 1, 2, 3, 5, 8... C'est un exercice classique pour s'entraîner aux boucles et à la mise à jour simultanée de plusieurs variables.

Points importants

  • Activez les avertissements du compilateur (compiler warnings) et corrigez-les tous.
  • Comprenez bien le type et la durée de vie (lifetime) de chaque valeur.
  • Vérifiez toujours les données d'entrée et les limites des indices de tableau.

Exemples de code C et C++

C
Exécuter →
main.c
#include <stdio.h>
int main(void) {
    int first = 0, second = 1;
    for (int i = 0; i < 10; ++i) {
        printf("%s%d", i ? " " : "", first);
        // Advance the pair without storing the whole sequence.
        int next = first + second; first = second; second = next;
    }
    puts("");
}
Résultat de l’exécution
0 1 1 2 3 5 8 13 21 34
C++
Exécuter →
main.cpp
#include <iostream>
int main() {
    int first = 0, second = 1;
    for (int i = 0; i < 10; ++i) {
        if (i) std::cout << ' ';
        std::cout << first;
        // Advance the pair without storing the whole sequence.
        int next = first + second; first = second; second = next;
    }
    std::cout << '\n';
}
Résultat de l’exécution
0 1 1 2 3 5 8 13 21 34

Comparaison entre C et C++

Le programme n'a besoin que des deux variables first et second pour garder la dernière paire de nombres, sans stocker toute la suite. À chaque tour, il affiche first, calcule next = first + second puis décale la paire d'une position. L'expression i ? " " : "" n'affiche une espace qu'avant les nombres à partir du deuxième.

C

C utilise de petites fonctions procédurales et montre ouvertement comment les données sont représentées en mémoire.

C++

C++ permet toujours de travailler à bas niveau, mais ajoute des types de bibliothèque et des abstractions plus sûres.

Exercices d'approfondissement

Exécutez les deux versions, puis modifiez le code pour observer la différence de sécurité qu'apporte chaque langage.

  • Testez des entrées invalides et des valeurs limites.
  • Compilez avec les options -Wall -Wextra -Wpedantic pour activer davantage d'avertissements.
  • Placez les déclarations communes dans un fichier d'en-tête et l'implémentation dans un fichier séparé.

S'entraîner avec un défi

Utilisez le contenu de cette leçon pour résoudre un vrai problème. Chaque défi s'exécute dans le navigateur, avec des tests instantanés et une revue par l'IA.

Tous les défis