2.2. La boucle for
La structure de contrôle for est sans doute l'une des plus
importantes. Elle permet de réaliser toutes sortes de boucles et, en particulier, les boucles itérant
sur les valeurs d'une variable de contrôle. Sa syntaxe est la suivante :
for (initialisation ; test ; itération) opération;
où
initialisation est une instruction (ou un bloc d'instructions) exécutée avant
le premier parcours de la boucle du
for.
test est une expression
dont la valeur déterminera la fin de la boucle.
itération est l'opération à effectuer
en fin de boucle, et
opération constitue le traitement de la boucle. Chacune de
ces parties est facultative.
La séquence d'exécution est la suivante :
initialisation
test : saut en fin du for ou suite
opération
itération
retour au test
fin du for.
Exemple 2-2. Boucle for
somme = 0;
for (i=0; i<=10; i=i+1) somme = somme + i;
Note : En C++, il est possible que la partie
initialisation déclare une variable. Dans ce cas, la variable déclarée n'est définie
qu'à l'intérieur de l'instruction for. Par exemple,
est strictement équivalent à :
Cela signifie que l'on ne peut pas utiliser la variable
i après l'instruction for, puisqu'elle n'est définie
que dans le corps de cette instruction. Cela permet de réaliser des variables muettes qui ne servent
qu'à l'instruction for dans laquelle elles sont définies.
Note : Cette règle n'est pas celle utilisée par la plupart
des compilateurs C++. La règle qu'ils utilisent spécifie que la variable déclarée dans la partie
initialisation de l'instruction for reste déclarée après
cette instruction. La différence est subtile, mais importante. Cela pose assurément des problèmes
de compatibilité avec les programmes C++ écrits pour ces compilateurs, puisque dans un cas la variable
doit être redéclarée et dans l'autre cas elle ne le doit pas. Il est donc recommandé de ne pas déclarer
de variables dans la partie initialisation des instructions for
pour assurer une portabilité maximale.