Article original : C Break and Continue Statements – Loop Control Statements in C Explained
En langage de programmation C, il arrive que vous souhaitiez modifier le comportement des boucles. Les instructions continue et break vous aident à sauter des itérations et à sortir des boucles sous certaines conditions.
Dans ce tutoriel, vous apprendrez comment les instructions break et continue modifient le flux de contrôle de votre programme.
Commençons.
Comment utiliser break pour sortir des boucles en C
En C, si vous souhaitez sortir d'une boucle lorsqu'une condition spécifique est remplie, vous pouvez utiliser l'instruction break.
Comme pour toutes les instructions en C, l'instruction break doit se terminer par un point-virgule (;).
Prenons un exemple pour comprendre ce que cela signifie.
Considérons le fragment de code suivant.
#include<stdio.h>
int main()
{
int count = 0;
while(count < 100)
{
printf("The value of count is %d \n", count);
count++;
}
return 0;
}
Dans cet exemple, la boucle while répète les instructions dans le corps de la boucle tant que count est inférieur à 100.
Le compte commence à 0 et augmente de 1 à chaque itération.
Ceci est le flux de contrôle normal.
Modifions cela un peu.
- Lisez un entier
fav_numdepuis l'utilisateur. Supposons quefav_numest le nombre préféré de l'utilisateur dans l'ensemble{0, 1, 2, ..., 99}. - À chaque passage dans la boucle, vous devez vérifier si la valeur actuelle de
countest égale àfav_num. - Vous souhaitez sortir de la boucle lorsque
countest égal àfav_num.
Alors, comment faire ?
Lisez le fragment de code suivant :
#include<stdio.h>
int main()
{
// Lire le nombre préféré de l'utilisateur
int fav_num;
printf("Entrez votre nombre préféré de 0 à 99 : ");
scanf("%d", &fav_num);
int count = 0;
while(count < 100)
{
printf("\nLa valeur de count est %d.", count);
if (count == fav_num)
break;
count++;
}
return 0;
}
- À chaque passage dans la boucle, vous utilisez
if (count == fav_num)pour vérifier sicountest égal àfav_num. Et vous ajoutez l'instructionbreak;au corps de l'instructionif. - Tant que
count ≠ fav_num, le contrôle n'atteint jamais l'instructionbreak;. - Lorsque
countest égal àfav_num, l'instructionbreak;est déclenchée, et vous sortez de la boucle. - Le contrôle atteint maintenant la première instruction en dehors de la boucle.
Un exemple de sortie est montré ci-dessous :

Remarquez comment le contrôle sort de la boucle une fois que le compte atteint 3, qui est ici fav_num.
Dans la section suivante, vous verrez un autre exemple qui renforcera votre compréhension.
Exemple d'instruction break en C
▶ Considérons l'exemple suivant :
A[10]est un tableau de 10 entiers, et est initialisé avec des zéros.- Vous souhaitez lire les éléments du tableau
Adepuis l'utilisateur. Et calculer la somme des éléments du tableau. - Cependant, vous exigez que chaque élément de
Ane soit pas supérieur à20. - Une fois que l'utilisateur entre un nombre supérieur à 20, vous choisissez de terminer la boucle. C'est là que l'instruction
break;est utile.
Maintenant, lisez le fragment de code suivant qui fait exactement cela.
#include <stdio.h>
int main()
{
int A[10] = {0};
int sum = 0;
for(int i = 0; i < 10; i++)
{
printf("Entrez un nombre : ");
scanf("%d",&A[i]);
if (A[i] > 20)
break;
sum += A[i];
}
printf("Somme : %d",sum);
return 0;
}
- Ici,
sumest initialisé à0. - À chaque passage dans la boucle, l'utilisateur est invité à entrer un nombre. Et le nombre entré est ajouté à la valeur actuelle de
sum. - Si l'utilisateur entre un nombre supérieur à 20, le contrôle sort de la boucle.

Remarquez comment la boucle se termine une fois que l'utilisateur entre un nombre supérieur à 20 – dans ce cas 21. Et la somme des deux autres nombres (2 et 3) est affichée.
Si vous avez utilisé l'instruction switch en C, vous avez probablement utilisé l'instruction break; pour sortir de l'échelle de cas dès qu'une étiquette de cas correspondante est trouvée.
Cependant, ce tutoriel vise à enseigner comment utiliser les instructions break; et continue; pour modifier le comportement des boucles.
Comment utiliser continue pour sauter des itérations en C
En C, si vous souhaitez sauter des itérations dans lesquelles une condition spécifique est remplie, vous pouvez utiliser l'instruction continue.
Contrairement à l'instruction
break, l'instructioncontinuene sort pas de la boucle. Elle saute uniquement les itérations dans lesquelles la condition est vraie.
Une fois que l'instruction continue; est déclenchée, les instructions restantes de la boucle sont sautées. Et le contrôle de la boucle passe à l'itération suivante.
Exemple d'instruction continue en C
Utilisons l'exemple de la section précédente et modifions-le un peu.
Supposons que vous ne souhaitez pas sortir de la boucle lorsque l'utilisateur entre un nombre supérieur à 20. Vous préférez ignorer ces entrées particulières et calculer la somme des nombres restants dans le tableau A.
- Supposons que l'utilisateur entre 10 nombres, dont 3 sont supérieurs à 20.
- Votre code doit maintenant calculer et afficher la somme des 7 nombres restants.
Alors, comment faire ?
Vous pouvez utiliser l'instruction
continue;pour sauter uniquement les itérations pour lesquelles l'entrée de l'utilisateur était supérieure à 20. 👨💻
Et vous pouvez le faire comme montré dans le code ci-dessous :
#include <stdio.h>
int main()
{
int A[10] = {0};
int sum = 0;
for(int i = 0; i < 10; i++)
{
printf("Entrez un nombre : ");
scanf("%d",&A[i]);
if (A[i] > 20)
continue;
sum += A[i];
}
printf("Somme : %d",sum);
return 0;
}
Dans l'exemple de sortie, vous pouvez voir que la toute première entrée est 21 qui est supérieure à 20.
Cependant, la boucle s'exécute bien 10 fois. Et si vous êtes prêt pour un rapide exercice d'addition, vous pouvez voir que les nombres autres que 21 (2, 3, 5, 4, 7, 15, 14, 2, et 5) s'additionnent bien à 57. ✅

Conclusion
Dans ce tutoriel, vous avez appris comment utiliser les instructions break; et continue; pour contrôler les boucles en C.
Pour résumer, vous avez appris :
- comment l'instruction
break;aide à sortir des boucles sous des conditions spécifiques. - comment l'instruction
continue;aide à sauter des itérations sous des conditions spécifiques.
J'espère que vous avez trouvé ce tutoriel utile. Bon codage ! 😄