Boucle complexe for

La troisième instruction de boucle est bien plus sophistiquée que les autres, bien qu’elle ne soit nullement nécessaire. Elle a la syntaxe suivante :

for (initialisation; condition; itération) action;

Elle demande la réalisation des actions suivantes : exécuter l’instruction d’initialisation, puis tester la condition (qui doit ici encore être une expression numérique). Si elle est non nulle, exécuter l’instruction action, puis l’instruction itération, et tester à nouveau la condition, et ainsi de suite jusqu’à ce que la condition devienne nulle.

On notera que l’initialisation n’est réalisée qu’une fois, avant toute autre action. Le schéma est donc identique à celui produit par la boucle while suivante :

initialisation;while (condition) {              action;              itération;              }

Le programme de la section précédente aurait donc pu être écrit ainsi (compte tenu de la possibilité d’une déclaration interne, décrite à la section suivante) :

#include <iostream.h>				    main()    {        for (int nombre = 0; nombre <= 1000; nombre += 7)            cout << nombre << '\t';        return 0;    }

Cette boucle permet donc essentiellement des écritures plus compactes, au prix parfois d’une certaine perte de lisibilité, surtout si elle est utilisée sans discernement.

On notera que l’instruction action peut être remplacée par un groupe entre accolades, comme pour les autres boucles, mais que initialisation et itération doivent rester des instructions uniques (on peut toutefois en mettre plusieurs par des astuces d’écriture décrites au chapitre 2).

Précédent Précédent Sommaire Sommaire Suivant Suivant