1. for — boucle pour
Utilisée quand on sait combien de fois on veut répéter une action.
for (int i = 0; i < 10; i++) {
printf("%d\n", i);
}
2. while — boucle tant que
Utilisée quand on ne connaît pas d’avance le nombre d’itérations.
int i = 0;
do {
printf("%d\n", i);
i++;
} while (i < 10);
3. do ... while — boucle faire tant que
Semblable à while, mais le bloc s’exécute au moins une fois, même si la condition est fausse au départ.
int i = 0;
do {
printf("%d\n", i);
i++;
} while (i < 10);
🔹 break — interruption d’une boucle ou d’un switch
break est utilisé pour sortir immédiatement d’une boucle (for, while, do...while) ou d’un switch.
for (int i = 0; i < 10; i++) {
if (i == 5) {
break; // Sort de la boucle quand i vaut 5
}
printf("%d\n", i);
}
➡️ Résultat : 0 1 2 3 4
🔸 goto — saut inconditionnel
goto permet de sauter à un label défini dans le code. C’est très puissant, mais à utiliser avec prudence, car cela peut rendre le code difficile à lire.
label ou étiquette en dans la langue de Molière.
#include <stdio.h>
int main() {
int x = 0;
if (x == 0)
goto erreur;
printf("Tout va bien.\n");
return 0; /* EXIT_SUCCESS */
erreur:
printf("Une erreur est survenue.\n");
return 1; /* EXIT_FAILURE */
}
🚫 Pourquoi goto n’est pas structuré
gotopermet de sauter n’importe où dans le code (avant ou après), ce qui brise la logique linéaire du programme.- Cela crée ce qu’on appelle du “code spaghetti”, très difficile à lire, comprendre, ou corriger.
✅ Pourquoi break est mieux structuré
Il n’envoie pas l’exécution n’importe où, il respecte la structure du langage.
Même si break interrompt une boucle, il reste dans un bloc bien défini (for, while, switch).
