La boucle While
"La persévérance, c’est ce qui rend l’impossible possible, le possible probable et le probable réalisé." ✨
Qu’est-ce qu’une boucle while ?
Il arrive qu’on ait besoin de répéter une action sans savoir à l’avance combien de fois. Dans ce cas, la boucle for n’est plus adaptée, et c’est là que la boucle while devient utile.
La boucle while permet d’exécuter un bloc d’instructions tant qu’une condition est vraie.
C’est très utile lorsqu’on ne connaît pas d’avance combien de fois l’action devra se répéter.
- Ce bloc d’instructions à exécuter est à l’intérieur des accolades
{ }, appelées le corps de la boucle. - Après chaque exécution du corps de la boucle, la condition est vérifiée, et si elle est trouvée
true, le corps de la boucle est exécuté à nouveau. - Lorsque la vérification retourne
false, le corps de la boucle ne sera pas exécuté.
Structure générale
on teste la condition au début ! ce qui veut dire que le bloc d'instructions ne peut se faire que si la condition est vraie !
while (condition)
{
instruction(s);
}
Exemples
Explication du code exemple complexe
Ce code illustre bien le fonctionnement d'une boucle while avec une condition contrôlée manuellement.
Voici ce qui se passe, ligne par ligne :
-
bool isOk = false;
→ On initialise une variable booléenneisOkàfalse.
Elle servira à contrôler quand arrêter la boucle. -
int x = 0;
→ On initialise une variablexà 0.
Elle servira ici comme compteur. -
while (!isOk)
→ On démarre une boucle qui s’exécutera tant queisOkest faux.
CommeisOkestfalseau début, la condition!isOkvauttrue→ la boucle commence. -
À chaque tour de boucle :
-
Console.WriteLine(x);
→ On affiche la valeur actuelle dex. -
Ensuite, on teste :
if (x == 4) isOk = true; else x++;- Si
xvaut 4 → on arrête la boucle en mettantisOk = true. - Sinon → on incrémente
xde 1 pour aller vers cet objectif.
- Si
⚠️ Erreurs fréquentes avec la boucle while
-
❌ Oublier de modifier la condition → mène souvent à une boucle infinie ♾️
Par exemple :
int x = 0; while (x < 5) { Console.WriteLine(x); // x++ manquant ! la condition reste toujours vraie } -
❌ Écrire une condition toujours fausse → la boucle ne s’exécute jamais
Exemple :
int x = 10; while (x < 5) { Console.WriteLine(x); } -
❌ Modifier la mauvaise variable ou la condition trop tard
Cela peut provoquer un comportement inattendu ou retarder inutilement la fin de la boucle.
-
✅ Bonne pratique :
- Vérifier que la condition évolue à chaque itération
- Penser à un cas de sortie clair
- Ajouter un système de sécurité dans certains cas (par exemple un compteur maximal) pour éviter une boucle infinie accidentelle.
break et continue
break – Quitter la boucle
Comme pour la boucle for l’instruction break permet également de sortir de la boucle while.
Exemple :
int essais = 0;
int valeur;
while (essais < 5)
{
Console.Write("Entre un nombre supérieur à 10 : ");
valeur = int.Parse(Console.ReadLine());
if (valeur > 10)
{
Console.WriteLine("Bravo, bonne valeur !");
// on sort de la boucle si la condition est remplie
break;
}
Console.WriteLine("Trop petit...");
essais++;
}
Console.WriteLine("Fin du programme.");
Cet exemple montre comment utiliser break de manière contrôlée et justifiée :
- L'utilisateur a 5 tentatives maximum (while (essais < 5)).
- Si la condition (valeur > 10) est remplie, on sort de la boucle avec break.
- Sinon, on continue.
Pourquoi c'est une bonne pratique :
- La condition essais < 5 est clairement visible dans le while.
- break est utilisé comme exception logique, pas comme la règle.
- Le programme reste prévisible, structuré et sécurisé.
Résultat typique :
Entre un nombre supérieur à 10 : 7
Trop petit...
Entre un nombre supérieur à 10 : 3
Trop petit...
Entre un nombre supérieur à 10 : 12
Bravo, bonne valeur !
Fin du programme.
On utilise break pour sortir tôt d'une boucle, mais *on garde la logique principale dans la condition while(...). C’est plus clair, plus propre, et plus facile à maintenir.
On peut également utiliser continue dans une boucle while, tout comme dans une boucle for. Elle est souvent moins utilisée que dans les for, mais elle reste très utile dans certains cas.
Rappel :
- continue → passe immédiatement à l’itération suivante sans exécuter le reste du bloc.
- La condition du
whileest retestée tout de suite après.
Exemple utiliser continue dans une boucle while
int nombre = 0;
while (nombre < 10)
{
nombre++;
if (nombre % 2 == 0)
// si le nombre est pair, on passe à l’itération suivante
continue;
Console.Write(nombre);
}
- On incrémente
nombreà chaque tour. - Si
nombreest pair (% 2 == 0), on saute leConsole.Write. - Sinon, on l’affiche.
Résultat affiché : 13579
Quiz
Testez vos connaissances ! 📝 Clique sur chaque question pour découvrir la réponse.
1️⃣ Quel est le rôle de la boucle
while en C# ?
B. Exécuter une instruction tant qu'une condition est vraie
C. Exécuter une seule fois un bloc d'instructions
D. C'est la même chose que la boucle for en plus simplifiée
✅ Afficher la réponse
2️⃣ Combien de fois la boucle suivante s’exécute-t-elle ?
int i = 0;
while (i < 3)
{
Console.WriteLine(i);
i++;
}
B. 3 fois
C. 4 fois
D. La boucle est infinie
✅ Afficher la réponse
3️⃣ Qu’est-ce qui peut provoquer une boucle infinie avec while ?
i = i + 1 dans la boucleB. Ne jamais modifier la variable testée
C. Mettre un
break dans la boucleD. Utiliser une condition
i != 0
✅ Afficher la réponse
4️⃣ À quoi sert l’instruction continue dans une boucle while ?
B. Sauter la boucle suivante
C. Ignorer le reste du bloc courant et passer à l’itération suivante
D. Revenir au début du programme
✅ Afficher la réponse
5️⃣ Quel est l'effet de ce code ?
int x = 5;
while (x < 5)
{
Console.WriteLine("Bonjour");
x++;
}
B. Affiche "Bonjour" cinq fois
C. Affiche "Bonjour" indéfiniment
D. N’affiche rien
✅ Afficher la réponse
➡️ La condition x < 5 est fausse dès le départ, donc le corps ne s’exécute jamais.
Navigation
Introduction for while do...while foreach Travail pratique
Pour aller plus loin
-
Documentation Microsoft sur les instructions de boucle en C#
Cette page couvre toutes les structures de contrôle de boucle (for,foreach,while,do-while) avec des exemples clairs et des explications syntaxiques détaillées. -
Tutoriel interactif : Branches et boucles en C#
Un tutoriel guidé et interactif proposé par Microsoft, pour s'exercer sur les boucles et les structures conditionnelles en C#.
- Cours C# – Module 2 : La boucle FOR (YouTube)
Une vidéo pédagogique en français qui explique la syntaxe, la logique et l’utilisation des bouclesforen C#, idéale pour débutants.
-
W3Schools – C# For Loop
Une introduction accessible à la bouclefor, avec des exemples interactifs directement testables dans le navigateur. -
Programiz – C# for loop (with Examples)
Explications détaillées accompagnées de nombreux exemples pratiques pour bien comprendre le fonctionnement de la bouclefor. -
Dot Net Tutorials – For Loop in C#
Un article complet avec des scénarios concrets, des conseils de bonnes pratiques et des erreurs courantes à éviter.
