Vous êtes sur la page 1sur 14

Chapitre 4:Les boucles

Module: Langage C
Cours anim par A.MOHAMMEDI

1
I. Dfinition
Une boucle ou une structure rptitive est une structure de rptition
dinstruction, autrement dit, une boucle permet de rpter un bloc dinstruction
un nombre donn de fois, Elle est compose dune condition darrt qui contrle
si le bloc doit tre rpt ou non.

Le langage C prend en charge trois types de boucle savoir:


Boucle FOR (pour)
Boucle WHILE (Tantque)
Boucle DO WHILE (Rpter)

2
1- La boucle FOR
La boucle For possde la syntaxe suivante:

FOR (compteur= valeur_initiale ; condition sur le compteur;


compteur++)
{
Bloc dinstruction rpter ;
}

3
a) Fonctionnement
La boucle for comporte trois expressions facultatives mises entre parenthses, qui
sont:
La premire expression permet daffecter une valeur initiale au compteur de la
boucle. Cette instruction est excute une seule fois, lentre de la boucle.
La deuxime expression reprsente une condition portant sur le compteur de la
boucle. Cette instruction est value au dbut de chaque itration de la boucle.
Si la condition est vraie alors les instructions de la boucle seront excutes;
Lorsque la condition devient fausse, la boucle sarrtera sans lexcution de ses instructions.
La troisime expression permet dincrmenter le compteur de la boucle. Cette
instruction est value la fin de chaque itration mme si la condition est
fausse.

4
b) Remarques
Le bloc dinstruction peut comporter toutes sortes dinstructions,
mme une autre boucle For;
Laccolade fermante nest pas suivie dun point virgule (;);
Les expressions de la boucle sont facultatives;
Si la deuxime expression est absente, elle sera considre comme
vraie par dfaut;
Le compteur peut tre directement dclar dans la premire
expression de la boucle;
Le compteur est une variable de type ordinal (entier, caractre).

5
c) Exemple
main()
{
int i ;
for ( i=1 ; i<=5 ; i++ )
{ printf ("bonjour ") ;
printf ("%d fois\n", i) ;
}
}

6
2- La boucle WHILE

La boucle While prsente la syntaxe suivante:

While (condition)
{
Bloc dinstruction rpter ;
}

7
a) Fonctionnement
Au dbut de chaque itration de la boucle, la condition est value
alors deux cas se prsentent:
Si la condition est vraie, les instructions de la boucle sexcuteront;
Si par contre la condition est fausse, mme ds le dpart, les
instructions de la boucle ne seront pas excutes et la boucle sarrte.

8
b) Remarques

Laccolade fermante nest pas suivie dun point virgule;

On ne connait pas pralablement le nombre de fois que la boucle sexcute

elle continu tant que la condition est vrifis et sarrte dans le cas contraire;

Dans les boucles les conditions darrt peuvent aussi tre composes.

9
c) Exemple
main()
{
int n, som ;
som = 0 ;
while (som<100)
{ printf ("donnez un nombre : ") ;
scanf ("%d", &n) ;
som += n ;
}
printf ("somme obtenue : %d", som) ;
}

10
3- La boucle DO WHILE
La syntaxe de cette boucle se prsente comme suit:

Do
{
Bloc dinstructions rpter;
}
While (condition);

11
a) Fonctionnement
La condition de la boucle est value la fin de chaque itration et
deux cas se prsentent:
Si la condition est vraie, les instructions de la boucle seront
nouveaux excutes;
Par contre, si la condition est fausse, les instructions de la boucle ne
seront pas nouveaux excutes.

12
b) Remarques
Les instructions de la boucle sexcuteront au moins une fois mme si
la condition de la boucle est fausse ds le dpart.
La condition peut tre simple ou compose.
La composition de conditions se fait en utilisant les oprateurs
logique and et or.
Remarque gnrale:
Contrairement la boucle For, dans les boucles While et Do While, si
la condition de la boucle porte sur un compteur alors se dernier tre
incrment en utilisant une instruction dincrmentation (Compteur++)
dans le corps de la boucle.

13
c) Exemple
main()
{
int n ;
do
{ printf ("donnez un nb >0 : ") ;
scanf ("%d", &n) ;
printf ("vous avez fourni %d\n", n) ;
}
while (n<=0) ;
printf ("rponse correcte") ;
}

14

Vous aimerez peut-être aussi