Vous êtes sur la page 1sur 7

CHAPITRE

6
Les instructions itératives

I- Introduction:

II- L’instruction while( ):

III- L’instruction do..while( ):

IV- L’instruction for( ):

Mr Seif Weslati Page 1


I- Introduction:

Les instructions dans le langage C se distinguent en instructions simples, conditionnelles et


répétitives. Cette dernière catégorie assure la réalisation de boucle permettant l’itération d’un
traitement un certain nombre de fois. On étudiera dans ce chapitre les boucles for, while( ) et
do.. while() .

II- L’instruction while( ):

 Exemple :

#include<stdio.h>

Main( )

int n, som=0;

While( som < 100)

Printf(“donner un nombre :”);

Scanf(« %d »,&n) ;

som= som + n ;

Printf (”la somme obtenue est %d:”, som);

L’interprétation du programme mène à dire que l’instruction while( som < 100) répète les
instructions qui suivent( existent entre accolades) tant que la condition mentionnée

( som < 100) est vrai .la condition de poursuite est examinée avant chaque parcours de la
boucle. Dans le cas ou la condition devient fausse, on se branche à la première instruction qui
suit l’accolade de fermeture de la boucle while, dans ce cas Printf (”la somme obtenue est
%d:”, som); .

Mr Seif Weslati Page 2


 Syntaxe :

While(condition )

Instructions ;

Exemple :

While( (c=getchar()) !=’a’)

Printf(« le caractère %c est différent de a »,c) ;

Application :

Ecrire un programme C qui permet de saisir un texte et de l’afficher caractère par


caractère.
La fin du texte est marqué par le caractère ‘#’.

Correction :

#include<stdio.h>

Main( )

Char c;

Printf(“donner un caractère :”);

Scanf(« %c »,&c) ;

While( c != ‘#’)

Printf(“%c”, c);

c=getchar( );

}}

III- L’instruction do..while( ):

 Exemple:

#include<stdio.h>

Main( )
Mr Seif Weslati Page 3
{
int n ;

do

Printf(“ donner un nombre supérieure à 0”);

Scanf(« %d »,&n) ;

While( n ≤ 0);

Printf(“ le nombre saisi est correcte”);}

La boucle do..while( ) répète les instructions qu’elle contient tant que la condition mentionnée
(n≤ 0) est vrai. Si l’utilisateur tape un nombre négatif, il ne peut pas passer à la suite des
instructions avant de retaper un nombre positif.

 Syntaxe :

Do

Instruction ;

While( condition) ;

Exemple:

Do

c =getchar( ) ;

while (c !=’x’) ;

La saisie du caractère est répétée tant que le caractère est différent de x.

Remarques :

- Le nombre de répétition des instructions dans la boucle do.. while est inconnu comme
également dans la boucle while.

Mr Seif Weslati Page 4


- Le nombre d’exécution minimal des instructions dans la boucle do.. while est égale à un,
alors que dans la boucle while est égale à 0.

Application :

Ecrire un programme C qui permet de résoudre une équation de premier degré a*x+b=0 (avec
a !=0) et affiche la solution.

Correction:

#include<stdio.h>

Main( )

int a, b ;

float x ;

Printf(“ donner le cœfficient b”);

Scanf(« %d »,&b) ;

do

Printf(“ donner le cœfficient a différent de 0”);

Scanf(« %d »,&a) ;

While( a = =0);

x= (-b)/a;

Printf(“ la solution de l’équation %d * x + %d =0 est %f ”,a, b, x);

Mr Seif Weslati Page 5


V- L’instruction for( ):

 Exemple:
********Ecran d’exécution***********
#include<stdio.h>
On commence l’affichage
Main( ) C’est le numéro1
C’est le numéro2
{ C’est le numéro3
On a terminé le programme
int i ;
**********************************
printf(“on commence l’affichage ”);

for(i=1; i≤ 3; i++)

printf(" c’est le numéro %d ", i);

printf(“on a terminé le programme ”)


;

}
La ligne for(i=1; i≤ 3; i++) comporte 3 expressions :

- i=1 : expression qui initialise le compteur, évaluée avant d’entrer dans la boucle.

- i ≤ 3 : expression qui conditionne la poursuite de la boucle.

- i++ : expression évaluée à la fin de chaque parcours.

 Syntaxe :

For( [expression1] ; [expression2] ; [expression3])

Instructions ;

Les instructions sont délimitées par deux accolades.

Remarques :

- La boucle for peut être traduite avec la syntaxe de la boucle while.

Expression1 ;

While(expression2)

Instructions ;

Expression3 ; }

Mr Seif Weslati Page 6


- Le nombre d’itération dans la boucle for est connu dés le départ.

Application :

Ecrire un programme C qui permet de calculer et d’afficher le factoriel d’un nombre


n.

Correction:

#include<stdio.h>

Main( )

int n, i, fact=1 ;

Printf(“ donner le nombre n”);

Scanf(« %d »,&n) ;

For(i=2; i≤ n; i++)

fact = fact * i ;

printf(“le factoriel du nombre %d est %d”,n, fact) ;

Autrement :

#include<stdio.h>

Main( )

int n, i, fact=1 ;

Printf(“ donner le nombre n”);

Scanf(« %d »,&n) ;

i=2 ;

While( i≤ n)

{ fact = fact * i ; i++;}

printf(“le factoriel du nombre %d est %d”,n, fact) ;

Mr Seif Weslati Page 7

Vous aimerez peut-être aussi