C_facile : Introduction au langage C
Cours

Instructions « for »

Définition

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 :

Diagramme de Conway de la boucle for
Diagramme de Conway de la boucle for[Zoom...]

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.

Instruction « while» (page suivante)Boucles à bornes non définies (page Précédente)
AccueilImprimer creativecommons : by-nc-ndRéalisé avec SCENARI