Vous êtes sur la page 1sur 5

2020-2021

Langage C
[Leçon 6]

M. Djiba Kourouma

D. Kourouma 1
Structures while () et do…while ()

 La structure while ()
C’est une structure qui correspond en algorithmique à la structure Tant que. Elle permet de répéter des
instructions tant qu’une condition est remplie :

Tant que <Condition > Faire


<Instructions>
Fin Tant que

En C, cette structure se présente comme suit :

while (condition)
{
Instructions ;
}

 La structure do … while ()
C’est une structure qui correspond en algorithmique à la structure Repeter.
Mais do…while() fait répéter tant que la condition est remplie et non jusqu’à ce que la condition soit
remplie. Ainsi la condition de do … while() est identique à celle de while(), tandis que la condition de
repeter est complémentaire à celle de Tant que.

Repeter Repeter
Algorithme  <instruction> <instruction>
Jusqu’à .<condition> Tant que <condition>

 

do
{
Langage C  Pas d’équivalent en C Instructions ;
}
while (condition);

D. Kourouma 2
Remarques
 En langage C, une expression nulle de type entier (int) est fausse, une expression non nulle de
type entier (int) est vraie ;
 Les conditions de while() et do … while() sont toujours dans des parenthèses ;
 Les accolades de while() et do … while() ne sont pas obligatoires si elles ne contiennent qu’une
seule instruction ;
 Partout on utilise while() on peut utiliser do…while() en apportant quelque modification.

Exemple :
Programme qui demande un nombre compris entre 3 et 10, jusqu’à ce que
la réponse convienne. En cas de réponse supérieure à 10, on fera
apparaître un message : « trop grand ! », et inversement, « trop
petit! » si le nombre est inférieur à 3.

/* version while() */
#include <stdio.h>
int main()
{
int nombre;
printf("Donner un nombre compris entre 3 et 10\n");
scanf("%d", &nombre) ;
while ((nombre<3)||(nombre>10))
{
if(nombre<3)
printf("Desole! %d est trop petit\n", nombre);
else
printf("Desole! %d est trop grand\n", nombre);
printf("Donner un nombre compris entre 3 et 10\n");
scanf("%d", &nombre) ;

}
printf("MERCI! %d est bien dans l'intervalle\n", nombre);
return 0 ;
}

D. Kourouma 3
// version do while()
#include <stdio.h>
int main()
{
int nombre ;
do
{
printf("Donner un nombre compris entre 3 et 10\n") ;
scanf("%d",&nombre) ;
if(nombre<3)
printf("Desole! %d est trop petit\n", nombre);
else
if(nombre>10)
printf("Desole! %d est trop grand\n", nombre);
else
printf("MERCI! %d est bien dans l'intervalle\n", nombre);
system("pause");
system("cls");
} while(nombre<3||nombre>10);
return 0 ;
}

D. Kourouma 4
Exercices Applications

1. Ecrire un programme qui demande une suite d’entier positif


terminée par le marqueur « -1 » puis affiche :

 Le nombre d’élément de la suite ;


 Le plus grand élément de la suite ;
 Le plus petit élément de la suite ;
 La moyenne des éléments de la suite.

2. Reprendre le programme de menu de l’exercice « switch » en


n’autorisant la sortie que lorsque l’utilisateur choisira le
numéro du menu correspondant à « quitter ».

D. Kourouma 5

Vous aimerez peut-être aussi