« Programmation C-C++/La boucle for » : différence entre les versions

Contenu supprimé Contenu ajouté
Balises : Révocation manuelle Révoqué
m Révocation des modifications de 37.58.200.11 (discussion) vers la dernière version de Tavernierbot
Balise : Révocation
Ligne 3 :
== 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 :
 
 
<pre>
<nowiki>
for (initialisation ; test ; itération) opération;
</nowiki>
</pre>
 
''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 :
 
<pre>
 
<nowiki>
initialisation
test : saut en fin du for ou suite
Ligne 19 ⟶ 23 :
retour au test
fin du for.
</nowiki>
</pre>
 
=== Exemple - Boucle for ===
 
 
<pre>
<nowiki>
somme = 0;
for (i=0; i<=10; i=i+1) somme = somme + i;
</nowiki>
</pre>
 
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,
 
 
<pre>
<nowiki>
for (int i=0; i<10; ++i);
</nowiki>
</pre>
 
est strictement équivalent à :
 
<pre>
 
<nowiki>
{
int i;
for (i=0; i<10; ++i);
}
</nowiki>
</pre>
 
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.
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.
 
[[Catégorie:Programmation C-C++ (livre)]]
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.