La structure while correspond tout à fait à la structure tant que du langage algorithmique. (Si on néglige le fait qu'en C les conditions peuvent être formulées à l'aide d'expressions numériques.)
La structure tant que en langage algorithmique
tant que (<expression logique>) faire
<bloc d'instructions>
ftant
* Tant que l'<expression logique> fournit la valeur vrai,
le <bloc d'instructions> est exécuté.
* Si l'<expression logique> fournit la valeur faux,
l'exécution continue avec l'instruction qui suit ftant.
* Le <bloc d'instructions> est exécuté zéro ou plusieurs fois.
La structure while en C
while ( <expression> )
<bloc d'instructions>
* Tant que l'<expression> fournit une valeur différente
de zéro,
le <bloc d'instructions> est exécuté.
* Si l'<expression> fournit la valeur zéro,
l'exécution continue avec l'instruction qui suit le bloc d'instructions.
* Le <bloc d'instructions> est exécuté zéro ou plusieurs fois.
La partie <expression> peut désigner :
La partie <bloc d'instructions> peut désigner :
Exemple 1
/* Afficher les nombres de 0 à 9 */
int I = 0;
while (I<10)
{
cout<<I<<endl;
I++;
}
Exemple 2
int I;
/* Afficher les nombres de 0 à 9 */
I = 0;
while (I<10)
cout<<I++<<endl;
/* Afficher les nombres de 1 à 10 */
I = 0;
while (I<10)
cout<<++I<<endl;
Exemple 3
/* Afficher les nombres de 10 à 1 */
int I=10;
while (I)
cout<<I--<<endl;
Remarque
Parfois nous voulons seulement attendre un certain événement, sans avoir besoin d'un traitement de données. Dans ce cas, la partie <bloc d'instructions> peut être vide (notation: ; ou {} ). La ligne suivante ignore tous les espaces entrés au clavier et peut être utilisée avant de lire le premier caractère significatif:
while (getch()==' ')
;