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,
*
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,
*
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) { printf("%i \n", I); I++; }
Exemple 2
int I; /* Afficher les nombres de 0 à 9 */ I = 0; while (I<10) printf("%i \n", I++); /* Afficher les nombres de 1 à 10 */ I = 0; while (I<10) printf("%i \n", ++I);
Exemple 3
/* Afficher les nombres de 10 à 1 */ int I=10; while (I) printf("%i \n", I--);
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()==' ') ;