Vous êtes sur la page 1sur 6

CHAPITRE

Les instructions
conditionnelles

I- Introduction:

II- L’ instruction if..else :

III- L’instruction swith( ) :

Jihen Hedhli Page 1


I- Introduction:

Les instructions qui apparaissent dans un programme simple sont en général des instructions
séquentielles qui s’exécutent dans l’ordre de leur apparition .Alors que la puissance de la
programmation réside dans la possibilité d’effectuer des choix selon des conditions .les
instructions permettant ce choix sont intitulées instructions conditionnelles ou de contrôle. On
détaillera dans ce chapitre les instructions if..else et l’instruction switch( ).

II- L’instruction if..else :

 Exemple :

If (a ≤ b)

Printf(" a est inférieure à b ") ;

Else

Printf(" a est supérieure à b ") ;

L’interprétation de cette section d’un programme C mène à comparer les valeurs contenues
dans a et b. Dans le cas où a est inférieure à b, le programme affiche " a est inférieure à b ".
Dans le cas contraire, il affiche " a est supérieur à b ".

 Syntaxe :

L’instruction de choix peut se présenter sous les formes suivantes :

if( condition)

Traitement

/* Traitement est formé d’une ou plusieurs instructions délimitées par des accolades*/

if( condition)

Traitement1

else

Traitement2
Jihen Hedhli Page 2
Exemple :

If( i++ < limite)

printf(« OK ! ») ; équivalente à i= i+1 ; /* avec limite une variable initialisée*/.

if( i < limite ) printf(« OK !”) ;

Remarque:

L’instruction if imbriqué permet de faire appel à d’autres tests indépendamment du test qui
les englobe et peut renfermer donc d’autres instructions if.

Exemple :

If (a ≤ b)

If (b ≤ c)

Printf(" a ,b et c sont ordonnés ") ;

Else

Printf(" chercher l’ordre entre a et c ") ;

Remarque :

Le "else" se rapporte toujours au dernier " if" utilisé.

Application :

Ecrire un programme C qui affiche le résultat d’un étudiant sachant qu’il réussit s’il a une
moyenne supérieure ou égale à 10, il est dans la zone de rachat si sa moyenne supérieure
stricte à 9,70 et il est refusé si sa moyenne est inférieure stricte à 9,70.

Correction:

#include<studio.h>

Main()

Jihen Hedhli Page 3


Float moy;

Printf(“donner la moyenne de l’étudiant”);

Scanf(« %f »,&moy) ;

If( moy ≥ 10) printf(“ “Reussi”);

Else

If( moy ≥ 9,70)

printf(“ Rachat”);

else

printf(“ Refusé”);

Remarque :

Pour éviter les imbrications d’instructions if, le langage C possède une instruction qui crée
une table de branchement: c’est l’instruction switch( ) ;

III- L’instruction swith( ) :

 Exemple :

#include<studio.h>

Main()

Char c;

Printf(“donner un caractére”);

Scanf(« %c »,&c) ;

Switch( c)

Case ‘a’ : printf(« il s’agit du caractère a ») ; break ;

Jihen Hedhli Page 4


Case ‘b’ : printf(« il s’agit du caractère b ») ; break ;

Case ‘.’ : printf(« il s’agit d’un point ») ; break ;

Default : printf(« caractère autre ») ;

On interprète ce programme en commençant par évaluer la valeur figurant après le mot


switch, dans notre cas la valeur de c ensuite on cherche dans le bloc qui suit s’il existe une
étiquette de la forme « case x » correspondant à cette valeur. Si c’est le cas, on exécute
l’instruction qui figure après cette étiquette puis on passe à break .Sinon, on passe à
l’instruction suivante.

Le programme affiche tout ce qu’il rencontre en "printf" jusqu’à ce qu’il trouve break .

Dans le cas ou aucune valeur n’est satisfaisante pour la valeur de c, le programme se branche
sur l’instruction qui suit "default".

 Syntaxe :

Switch( sélecteur)

Case cst1 : suite_instructions1 ; break ;

Case cst2 : suite_instructions2 ; break ;

Case cst3 : suite_instructions3 ; break ;

Case cst4 : suite_instructions4 ; break ;

Default : suite_instructions ; /* le default est facultatif */

Avec sélecteur : une constante entière.

Cst i : une constante de même type que la valeur figurant dans le switch.

Suite_instructions : ensemble d’instructions à exécuter.

Remarque :

On peut avoir à la place de cst i des expressions qui vont être évaluées lors de l’exécution et
vont être remplacées par leurs résultats constants.
Jihen Hedhli Page 5
Application :

Ecrire un programme qui permet de saisir un numéro du jour et affiche le jour correspondant
en toute lettre.

Correction:

#include<studio.h>

Main()

Int num;

Printf(“donner le numéro du jour”);

Scanf(« %d »,&num) ;

Switch( num)

Case 1 : printf(« nous sommes le lundi ») ; break ;

Case 2 : printf(« nous sommes le mardi») ; break ;

Case 3 : printf(« nous sommes le mercredi ») ; break ;

Case 4 : printf(« nous sommes le jeudi ») ; break ;

Case 5 : printf(« nous sommes le vendredi ») ; break ;

Case 6 : printf(« nous sommes le samedi ») ; break ;

Case 7 : printf(« nous sommes le dimanche») ; break ;

Default : printf (« le numéro est erroné, veuillez saisir un numéro de jour valide ») ;

Jihen Hedhli Page 6

Vous aimerez peut-être aussi