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);

🔹 breakinterruption 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

🔸 gotosaut 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é

  • goto permet 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).