Instructions « for »
Les boucles en C utilisent des conditions d'arrêt.
Ce sont des expressions qui s'évaluent à vrai ou faux en utilisant la convention logique du C que nous rappelons : 0 signifie faux, autre chose que 0 signifie vrai. Soit l'extrait d'un code écrit en C qui utilise la boucle à bornes définies "for" pour afficher les trois premiers chiffres :
instruction_avant for (i=0;i<3;i++) // (rappel : i++ est la post_incrémentation) { printf("\n i=%4d",i); } instruction_après
for (i=0;i<3;i++) // (rappel : i++ est la post_incrémentation) printf("\n i=%4d",i); instruction_après
instruction_avant for (i=2;i>=0;i--)
{
printf("\n i=%4d",i);
}
instruction_après
Le bloc d'instructions commence par "{" et se termine par "}", il s'agit d'une instruction composée qui ne comporte ici qu'une seule instruction « printf ». Nous tenons à préciser que l'utilisation des accolades est facultative quand la boucle ne comporte qu'une seule instruction. On peut donc écrire :
La syntaxe for (i=0;i<3;i++) correspond au diagramme de Conway suivant :
Entre la parenthèse ouvrante "(" et fermante ")", nous retrouvons dans l'ordre :
-
une instruction d'initialisation de la variable de contrôle de boucle i
-
une condition logique qui teste la valeur de la variable de contrôle de boucle i
-
une instruction qui fait évoluer la valeur de la variable de contrôle de boucle i
Ces éléments sont séparés par le délimiteur « ; ».
De fait, si l'on désire afficher les valeurs 2, 1, 0, au cours d'un programme, il suffit d'écrire :
Pour sortir de la boucle, le test i>=0 doit être évalué à faux, donc lorsque i vaut -1.
Le compilateur identifie la syntaxe de la boucle « for » et s'occupe de la gestion des étiquettes et des branchements. Ceci est entièrement transparent pour le programmeur.