Structures Conditionnelles en Langage C
Structures Conditionnelles en Langage C
Structures Conditionnelles en Langage C
ESPRIT
2012-2013
1
Problématique
• Définition :
– Il s’agit d’un traitement qui ne peut s’exécuter
que si une condition logique est satisfaite ; dans
le cas contraire, rien ne devrait se passer.
Les structures
conditionnelles à
un choix…?
4
1.Structure conditionnelle à un choix
• Organigramme
– Les conditions s'expriment avec des opérateurs
logiques ou des opérateurs de comparaisons
Suite du programme
5
1.Structure conditionnelle à un choix
• Syntaxe:
• Exemple
– On veut donner une prime pour les salariés mariés
ayant plus de 3 enfants
#include <stdio.h>
void main()
{
int Nbr_Enfants;
/* Saisie de Nbr_Enfants */
printf("Combien avez-vous d’enfants? \n ");
scanf("%d",&Nbr_Enfants);
/* Structure SI ALORS */
if (Nbr_Enfants >3) {
printf(« Vous avez une prime! \n");
}
}
7
1.Structure conditionnelle à un choix
• Exercice d’application
– Ecrire un algorithme permettant de résoudre
l’équation de 1er degré : ax+b=0
• (on suppose que a >0)
8
2.Structure conditionnelle à deux choix
• Définition :
– Il s’agit d’un traitement qui ne peut s’exécuter
que si une condition logique est satisfaite ;
dans le cas contraire, un autre traitement sera
exécuté.
Les structures
conditionnelles à
deux choix…??
9
2.Structure conditionnelle à deux choix
• Organigramme
– Les conditions s'expriment avec des opérateurs
logiques ou des opérateurs de comparaisons
Suite du programme
10
2.Structure conditionnelle à deux choix
• Syntaxe:
En Algorithmique En Langage C
Si la condition est vraie
alors l'instruction ou le
if (condition)
Si (condition) alors bloc d'instructions qui
{ suit le "if" est exécuté,
Instruction1 sinon ou le bloc
Instruction1;
Instruction2 d'instructions qui suit le
Instruction2;
…… "else" est exécuté
……
Sinon
} else {
Instruction1’
Instruction1’;
Instruction2’ S'il y a plusieurs
Instruction2’;
…… instructions après le "if"
……
Finsi ou après le "else" , on
} les encadre par des
accolades : { }
11
2.Structure conditionnelle à deux choix
• Exemple
– On veut afficher le maximum de deux nombres
entiers a et b
#include <stdio.h>
void main()
{ int a,b;
/* Saisie de a et de b */
printf("Donnez les valeurs de a et de b ");
scanf("%d %d",&a,&b);
} else {
printf("b=%d est supérieur ou égal à a=%d \n",b,a);
}
} 12
2.Structure conditionnelle à deux choix
• Exercice d’application
– Écrire un programme en C qui affiche si
l'utilisateur est majeur (>= 18 ans) ou mineur.
13
3.Structure conditionnelle imbriquée
• Définition :
– Il s’agit d’un traitement qui ne peut s’exécuter que si
une condition logique est satisfaite ; dans le cas
contraire, un autre traitement sera exécuté.
– Les différents traitements ne comportent plus
uniquement des actions simples mais on peut leur
imbriquer des structures conditionnelles.
Les structures
conditionnelles
imbriquées…??
14
3.Structure conditionnelle imbriquée
• Organigramme
Oui Condition1 Non
Vrai?
Oui Non
instruction 2… Condition n-1
Vrai?
instruction n-1
instruction n
Suite du programme
15
3.Structure conditionnelle imbriquée
• Syntaxe:
En Algorithmique En Langage C
• Exemple
– On veut afficher affiche la mention d'un étudiant en fonction
de sa moyenne
#include <stdio.h>
void main()
{ float moyenne;
/* Saisie de la moyenne*/
printf(" Quel est votre moyenne ? \n");
scanf("%f",&moyenne);
• Exercice d’application
– Ecrire un programme en C qui demande un
nombre à l'utilisateur et l'informe ensuite si ce
nombre est positif, négatif ou nul
18
4.Structure conditionnelle à choix multiple
• Définition :
– Une structure à choix multiple est une structure qui à
partir d’un choix va se positionner sur le bon traitement
sans passer par les autres
Les structures
conditionnelles à
choix multiples…??
19
4.Structure conditionnelle à choix multiple
• Organigramme *
Oui Expression Non
= valeur1?
Oui Non
instruction2 … Expression
= valeur3?
instruction3 … Instruction par
défaut
Suite du programme
21
3.Structure conditionnelle imbriquée
• Exemple
#include <stdio.h>
void main()
{ char choix;
printf("\n\n\t\t tapez a , b , c ou d \n ");
/* saisie de la touche */
choix=getchar();
• Exercice d’application
23
Merci Pour
votre
attention!
24