Bases de C/C++

Boucles : for, while et do-while

Les boucles exécutent le même bloc plusieurs fois. for convient à un nombre d'étapes connu, while répète jusqu'à ce qu'une condition devienne fausse, et do-while exécute toujours son corps au moins une fois.

Qu’est-ce que Boucles : for, while et do-while ?

Les boucles exécutent le même bloc plusieurs fois. for convient à un nombre d'étapes connu, while répète jusqu'à ce qu'une condition devienne fausse, et do-while exécute toujours son corps au moins une fois.

Répétez un travail avec les boucles for, while et do-while, ainsi que break et continue.

Points importants

  • Activez les avertissements du compilateur et corrigez-les.
  • Connaissez le type et la durée de vie de chaque valeur.
  • Validez les entrées et les limites des tableaux.

Voir comment ça marche

Appuyez sur Étape pour exécuter la boucle pas à pas. Observez la vérification de la condition, l'exécution du corps et le tableau de suivi qui grandit ligne par ligne.

Exemples de code C et C++

C
Exécuter →
main.c
#include <stdio.h>

int main(void) {
    /* for: start; condition; step */
    for (int i = 1; i <= 5; i++) {
        printf("%d ", i);
    }
    printf("\n");

    /* while: repeat as long as the condition holds */
    int n = 20;
    int steps = 0;
    while (n > 1) {
        n /= 2;
        steps++;
    }
    printf("halved %d times\n", steps);

    /* do-while: the body runs at least once */
    int tries = 0;
    do {
        tries++;
    } while (tries < 3);
    printf("tries = %d\n", tries);

    /* break leaves the loop, continue skips to the next round */
    for (int i = 1; i <= 10; i++) {
        if (i % 2 == 0) continue;
        if (i > 7) break;
        printf("%d ", i);
    }
    printf("\n");
    return 0;
}
Résultat attendu
1 2 3 4 5 
halved 4 times
tries = 3
1 3 5 7
C++
Exécuter →
main.cpp
#include <iostream>
#include <vector>

int main() {
    // for: start; condition; step
    for (int i = 1; i <= 5; i++) {
        std::cout << i << ' ';
    }
    std::cout << '\n';

    // while: repeat as long as the condition holds
    int n = 20;
    int steps = 0;
    while (n > 1) {
        n /= 2;
        steps++;
    }
    std::cout << "halved " << steps << " times\n";

    // do-while: the body runs at least once
    int tries = 0;
    do {
        tries++;
    } while (tries < 3);
    std::cout << "tries = " << tries << '\n';

    // range-based for visits every element of a container
    std::vector<int> values{1, 3, 5, 7};
    int sum = 0;
    for (int value : values) {
        sum += value;
    }
    std::cout << "sum = " << sum << '\n';
}
Résultat attendu
1 2 3 4 5 
halved 4 times
tries = 3
sum = 16

Comparaison entre C et C++

L'en-tête du for contient le départ, la condition et le pas. break quitte une boucle plus tôt et continue passe au tour suivant. C++ ajoute la boucle for sur un intervalle, qui parcourt chaque élément d'un conteneur sans indice.

C

C expose de petites API procédurales et les détails de représentation.

C++

C++ conserve le modèle bas niveau et ajoute des types et abstractions plus sûrs.

Exercices pratiques

Exécutez les deux versions puis modifiez-les pour observer leurs garanties.

  • Ajoutez des entrées invalides et limites.
  • Compilez avec -Wall -Wextra -Wpedantic.
  • Séparez déclarations et implémentations.

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