Vous êtes sur la page 1sur 9

Chapitre 3: Linstruction de

choix
Module: Langage C
Cours anim par A.MOHAMMEDI

1
I. Choix simple
Il arrive parfois de vouloir excuter une squence dinstructions S selon une certaine condition. Si la
condition est vraie alors la squence S sera excute et si par contre la condition est fausse, la
squence S ne sera pas excute ou une squence alternative S` sera excute.

Syntaxe: Remarques:
If (condition) - Les accolades ne sont pas obligatoires si la squence S contient une seule instruction.
{ - Une condition peut tre simple ou compose:
Squence S; - If (a==0)
- If (a==0 && b==0)
} - Pas de point virgule (;) aprs les accolades fermantes.
Else - Linstruction IF peut tre imbrique sur plusieurs niveaux.
{
Squence S`;
}

2
II. Choix multiples
Lorsquil sagit de tester une conditions pour plusieurs valeurs, au lieu dutiliser
plusieurs tests IF imbriqus, on fait appel linstruction Switch.
Syntaxe:
Switch (variable) Remarque:
{ - Si la valeur de variable est gale lune des
Case valeur1: instructions; Break; valeurs, la liste dinstructions correspondant
Case valeur2: instructions; Break; est excute. Sinon la liste dinstructions
correspondant default est excute.
Case valeurn: instructions; Break; - Linstruction default est facultative.
Default: Instructions; Break;
}

3
III. Exemples: Exemple 1
#define TAUX_TVA 18.6
main()
{
double ht, ttc, net, tauxr, remise ; remise = ttc * tauxr / 100. ;
printf("donnez le prix hors taxes : ") ; net = ttc - remise ;
scanf ("%lf", &ht) ; printf ("prix ttc %10.2lf\n", ttc) ;
ttc = ht * ( 1. + TAUX_TVA/100.) ; printf ("remise %10.2lf\n", remise) ;
if ( ttc < 1000.) tauxr = 0 ; printf ("net payer %10.2lf\n", net) ;
else if ( ttc < 2000 ) tauxr = 1. ; }
else if ( ttc < 5000 ) tauxr = 3. ;
else tauxr = 5. ;

4
III. Exemples: Exemple 1
Lexcution du programme donnera:

donnez le prix hors taxes : 500


prix ttc 593.00
remise 0.00
net payer 593.00
___________________________________________
donnez le prix hors taxes : 4000
prix ttc 4744.00
remise 142.32
net payer 4601.68

5
III. Exemples: Exemple 2
main()
{
int n ; case 1 : printf ("un\n") ;
printf ("donnez un entier : ") ; break ;
scanf ("%d", &n) ; case 2 : printf ("deux\n") ;
switch (n) break ;
{ case 0 : printf ("nul\n") ; }
break ; printf ("au revoir\n") ;
}

6
III. Exemples: Exemple 2
Lexcution du programme donnera:
donnez un entier : 0
nul
au revoir
______
donnez un entier : 2
deux
au revoir
______
donnez un entier : 5
au revoir

7
III. Exemples: Exemple 3
main()
{
int n ; }
printf ("donnez un entier : ") ; printf ("au revoir\n") ;
scanf ("%d", &n) ; }
switch (n)
{ case 0 : printf ("nul\n") ;
case 1 : printf ("un\n") ;
case 2 : printf ("deux\n") ;
8
III. Exemples: Exemple 3
Lexcution de ce programme donnera par contre:
donnez un entier : 0
nul
un
deux
au revoir
______
donnez un entier : 2
deux
au revoir