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++
#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;
}
1 2 3 4 5
halved 4 times
tries = 3
1 3 5 7
#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';
}
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 expose de petites API procédurales et les détails de représentation.
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.
- Sum of Odd Numbers Add every odd number up to a limit. Facile
- Compte à rebours jusqu'au décollage Comptez à rebours à partir d'un nombre et terminez par Liftoff! Facile
- Multiplication Table Row List the first multiples of a number. Facile