Programmer en langage C
80
© Éditions Eyrolles
6) Si vous connaissez Pascal, vous remarquerez que cette instruction do... while correspond au repeat... until avec, cependant, une condition exprimée sous forme contraire.
3.3 Exemples
a) L’exemple proposé au paragraphe 3.1 peut également s’écrire :
do { printf ("donnez un nb > 0 : ") ;
scanf ("%d", &n) ;
}
while ( printf("vous avez fourni %d", n), n<= 0 )
ou encore :
do printf ("donnez un nb >0 : ") ;
while (scanf("%d", &n), printf ("vous avez fourni %d", n), n <= 0 ) ;
ou même :
do { }
while ( printf ("donnez un nb > 0 :"), scanf ("%d", &n),
printf ("vous avez fourni %d", n), n <= 0 ) ;
Notez bien que la condition de poursuite doit être la dernière expression évaluée, compte tenu
du fonctionnement de l’opérateur séquentiel.
b) L’instruction :
do { } while ( (c=getchar()) != 'x' ) ;
lit des caractères au clavier jusqu’à ce qu’elle ait obtenu le caractère x. Elle est équivalente à :
do c = getchar() ;
while ( c != 'x' ) ;
4 L’instruction while
Voyons maintenant la deuxième façon de réaliser une boucle conditionnelle, à savoir l’instruction while.
Delannoy Livre.book Page 80 Mercredi, 6. mai 2009 4:26 16
80
© Éditions Eyrolles
6) Si vous connaissez Pascal, vous remarquerez que cette instruction do... while correspond au repeat... until avec, cependant, une condition exprimée sous forme contraire.
3.3 Exemples
a) L’exemple proposé au paragraphe 3.1 peut également s’écrire :
do { printf ("donnez un nb > 0 : ") ;
scanf ("%d", &n) ;
}
while ( printf("vous avez fourni %d", n), n<= 0 )
ou encore :
do printf ("donnez un nb >0 : ") ;
while (scanf("%d", &n), printf ("vous avez fourni %d", n), n <= 0 ) ;
ou même :
do { }
while ( printf ("donnez un nb > 0 :"), scanf ("%d", &n),
printf ("vous avez fourni %d", n), n <= 0 ) ;
Notez bien que la condition de poursuite doit être la dernière expression évaluée, compte tenu
du fonctionnement de l’opérateur séquentiel.
b) L’instruction :
do { } while ( (c=getchar()) != 'x' ) ;
lit des caractères au clavier jusqu’à ce qu’elle ait obtenu le caractère x. Elle est équivalente à :
do c = getchar() ;
while ( c != 'x' ) ;
4 L’instruction while
Voyons maintenant la deuxième façon de réaliser une boucle conditionnelle, à savoir l’instruction while.
Delannoy Livre.book Page 80 Mercredi, 6. mai 2009 4:26 16
