La troisième instruction de boucle est bien plus sophistiquée que les autres, bien quelle 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 linstruction dinitialisation, puis tester la condition (qui doit ici encore être une expression numérique). Si elle est non nulle, exécuter linstruction action, puis linstruction itération, et tester à nouveau la condition, et ainsi de suite jusquà ce que la condition devienne nulle.
On notera que linitialisation nest réalisée quune 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é dune 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 dune certaine perte de lisibilité, surtout si elle est utilisée sans discernement.
On notera que linstruction 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 | Sommaire | Suivant |