Boucles en français

Qu'est-ce qu'une boucle ?

Une boucle est un outil de programmation permettant de répéter un ensemble d'instructions. Dans ce contexte, le terme itérer signifie « recommencer ». Une boucle continuera à s'exécuter tant qu'une condition de terminaison spécifiée n'est pas remplie.

La boucle For

La boucle for commence par le mot-clé for et comporte une déclaration contenant trois paramètres qui régissent l'itération, tous séparés par des points-virgules :

  1. Initialisation : elle définit le point de départ de la boucle en déclarant (ou en référenciant) la variable de l'itérateur.
  2. Condition : elle détermine quand arrêter l'itération (lorsque l'expression évalue à faux).
  3. Incrémentation : elle met à jour l'itérateur à chaque fois que la boucle est terminée.

Voici un exemple :

for (initialisation; condition; incrément) {
  // Code à exécuter plusieurs fois
}

On peut illustrer cela par l'exemple suivant :

for (int i = 0; i < 4; i++) {
  printf("%d\n", i);
}

La sortie serait alors :

0
1
2
3

La boucle While

La boucle while crée une boucle qui s'exécute tant qu'une condition spécifiée évalue à vrai. Elle continuera jusqu'à ce que cette condition devienne fausse. La condition est définie avant la boucle, et généralement, une variable est incrémentée ou modifiée dans le corps de la boucle pour déterminer quand celle-ci doit s'arrêter.

Voici la syntaxe :

while (condition) {
  // Bloc de code à exécuter
}

Considérons cet exemple :

int i = 0;
while (i < 5) {
  printf("%d\n", i);
  i++;
}

La sortie serait :

0
1
2
3
4

La boucle Do...While

Une instruction do…while crée une boucle qui exécute d'abord un bloc de code, vérifie ensuite si une condition est vraie, puis continue la boucle tant que cette condition est maintenue. Ceci est particulièrement utile lorsque le corps de la boucle doit s'exécuter au moins une fois. La boucle se termine quand la condition évalue à faux.

Voici un exemple :

do {
  // Code à exécuter au moins une fois
} while (condition);

Regardons cet exemple pour l'illustrer :

int x = 0;
int i = 0;
do {
  x = x + i;
  printf("%d\n", x);
  i++;
} while (i < 5);

La sortie serait :

0
1
3
6
10

Boucles For Imbriquées

Une boucle for imbriquée est une boucle for exécutée à l'intérieur d'une autre boucle for. La boucle intérieure s'exécute complètement pour chaque itération de la boucle extérieure.

Voici un exemple :

for (int outer = 0; outer < 2; outer++) {
  for (int inner = 0; inner < 3; inner++) {
    printf("%d-%d\n", outer, inner);
  }
}

La sortie serait :

0-0
0-1
0-2
1-0
1-1
1-2