Vous êtes sur la page 1sur 10

Chapitre 3 – LES STRUCTURES DE CONTRÔLE

Les structures de contrôle sont des mécanismes qu’on peut utiliser dans un programme
pour contrôler la manière dont les instructions seront exécutées par l’ordinateur. Elle
permettent d’agir sur l'ordre ou la fréquence d'exécution de ces instructions.

1. La structure de contrôle conditionnelle if


La structure de contrôle conditionnelle if permet l’exécution d'un groupe d'instructions
ou d'un autre en fonction de la valeur d'une ou de plusieurs conditions. La syntaxe
générale est la suivante :
if ( condition1 )
{
groupe d’instructions_1 ;
}
else if ( condition2 )
{
groupe d’instructions_2 ;
}
...
else if ( conditionN )
{
groupe d’instructions_N ;
}
else
{
groupe d’instructions ;
}
Une condition est une expression de type booléen. Les opérations de comparaison et les
opérations logiques sont des conditions.
Si un groupe d'instructions ne contient qu'une seule instruction, on peut ne pas le mettre
entre accolades.
Le fonctionnement de la structure conditionnelle if peut être décrit graphiquement
comme suit :

M. Djamal Seck UCAD/FST/L2 MPI 2020-2021 Ch 3 – Les structures de contrôle Page 1 / 10


Exemple
Programme qui affiche le plus petit de deux entiers donnés par l’utilisateur.
// programme minimum.c
#include <stdio.h>
int main( )
{
int a, b;
printf("Donnez deux entiers : ");
scanf("%d%d", &a, &b);
if ( a < b )
printf("\nLe minimum est %d", a);
else if ( a > b )
printf("\nLe minimum est %d", b);
else
printf("Les deux entiers %d et %d sont égaux", a,b);
return 0 ;
}

M. Djamal Seck UCAD/FST/L2 MPI 2020-2021 Ch 3 – Les structures de contrôle Page 2 / 10


Exemple
Programme qui affiche la catégorie d’age de l’utilisateur
// programme categorieAge.c
#include <stdio.h>
int main( )
{
int age;
printf("Donnez votre age : ");
scanf("%d", &age);
if ( age < 10 )
printf("Vous êtes un enfant");
else ( ( age ≥ 10 ) && ( age < 20 ) )
printf("Vous êtes un adolescent");
else
printf("Vous êtes un adulte");
return 0 ;
}

3. La structure de contrôle switch


La structure de contrôle switch permet l'exécution d'un groupe d'instructions ou d'un
autre en fonction de la valeur d'une expression de type entier, caractère ou booléen. Sa
syntaxe est :
switch ( expression )
{
case valeur1 : groupe d’instructions_1 ; break;
case valeur2 : groupe d’instructions_2 ; break ;
...
case valeurN : groupe d’instructions_N ; break ;
default : groupe d’instructions ;
}

M. Djamal Seck UCAD/FST/L2 MPI 2020-2021 Ch 3 – Les structures de contrôle Page 3 / 10


L’exécution commence par le groupe d'instructions du cas qui correspond à la valeur de
l’expression et continue jusqu’à un break ou la fin du switch. Ainsi, si on ne met pas de
break, les groupes d'instructions suivants seront également exécutés.
La clause default contient un groupe d'instructions à exécuter dans le cas où la valeur de
l'expression ne correspond à aucune des valeurs listées.
Ce fonctionnement peut être décrit graphiquement comme suit :

Exemple
Programme qui fait une opération arithmétique entre deux entiers donnés par
l’utilisateur
// programme calculatrice.cpp
#include <stdio.h>
int main( )
{
int a, b ;
char op ;
printf( "Donner deux entiers :" ) ;
scanf( "%d%d", &a, &b ) ;
printf( "Donner l'operation: + , – , * ou / : " ) ;
fflusf( stdin ) ;
op = getchar( ) ;

M. Djamal Seck UCAD/FST/L2 MPI 2020-2021 Ch 3 – Les structures de contrôle Page 4 / 10


switch ( op )
{
case '+' :
printf( "%d + %d = %d", a, b, a + b ) ;
break ;
case '-' :
printf( "%d - %d = %d", a, b, a - b ) ;
break ;
case '*' :
printf( "%d * %d = %d", a, b, a * b ) ;
break ;
case '/' :
if ( b == 0 )
{
printf( "Division par zero impossible!" ) ;
break ;
}
else
{
printf( "%d : %d = %f", a, b, (float)a / b ) ;
break ;
}
default :
printf( "Operation non disponible! " ) ;
}
printf( "\nAu revoir" ) ;
return 0 ;
}

M. Djamal Seck UCAD/FST/L2 MPI 2020-2021 Ch 3 – Les structures de contrôle Page 5 / 10


Remarque
La structure de contrôle switch peut être remplacée par la structure de contrôle if en
utilisant la syntaxe suivante :
if ( expression == valeur1 )
{
groupe d’instructions_1 ;
}
else if (expression == valeur2)
{
groupe d’instructions_2 ;
}
...
else if (expression == valeurN)
{
groupe d’instructions_N ;
}
else
{
groupe d’instructions ;
}
3. Les structures de contrôle répétitives
Les structures de contrôle répétitives, encore appelées boucles, permettent de répéter
plusieurs fois l'exécution d'un groupe d'instructions.
3-1. La boucle while
La boucle while permet de répéter l'exécution d'un groupe d'instructions tant qu’une
certaine condition est vraie. Sa syntaxe est:
while ( condition )
{
groupe d’instructions ;
}

Si le groupe d'instructions comporte une seule instruction, on peut ne pas le mettre entre
accolades.

M. Djamal Seck UCAD/FST/L2 MPI 2020-2021 Ch 3 – Les structures de contrôle Page 6 / 10


Le fonctionnement de la boucle while peut être décrit graphiquement comme suit :

Exemple
Programme qui affiche la liste des entiers inférieurs ou égaux à un entier strictement
positif donné par l’utilisateur
// programme affichage_nombres.c
#include <stdio.h>
int main( )
{
int n, i ;
printf( "Donnez un entier strictement positif :" ) ;
scanf( "%d" , &n ) ;
printf( "Les entiers compris entre 1 et %d sont :" , n ) ;
i=1;
while ( i <= n )
{
printf( "%d\t" , i ) ;
i=i+1;
}
printf( "Au revoir" ) ;
return 0 ;
}

M. Djamal Seck UCAD/FST/L2 MPI 2020-2021 Ch 3 – Les structures de contrôle Page 7 / 10


3-2. La boucle do…while
La boucle do…while permet d'exécuter un groupe d'instructions au moins une fois et de
répéter l'exécution tant qu’une certaine condition est vraie. Sa syntaxe est :
do
{
groupe d’instructions ;
}
while ( condition ) ;
Le fonctionnement de cette boucle peut être décrit graphiquement comme suit :

Exemple
Programme qui demande à l’utilisateur de donner un entier non nul pour ensuite afficher
son inverse :
// programme nombre_inverse.cpp
int main( )
{
int n ;
do
{
printf ("Donnez un entier non nul :") ;
scanf( "%d" , &n ) ;
}
while ( n == 0 ) ;
printf ("Son inverse est :%f" , ( float )1/n ) ;
return 0 ;
}

M. Djamal Seck UCAD/FST/L2 MPI 2020-2021 Ch 3 – Les structures de contrôle Page 8 / 10


3-3. La boucle for
La boucle for permet de répéter l'exécution d'un groupe d'instructions tant qu’une
condition est vraie. Sa syntaxe est:

for ( instruction1 ; condition ; instruction2 )


{
groupe d’instructions ;
}
L'exécution se déroule de la manière suivante :
- instruction1 est exécutée une seule fois.
- Ensuite, tant que la condition est vraie : le groupe d'instructions est exécuté, puis
instruction2 est exécutée
Le fonctionnement de la boucle for peut être décrit graphiquement comme suit :

M. Djamal Seck UCAD/FST/L2 MPI 2020-2021 Ch 3 – Les structures de contrôle Page 9 / 10


Exemple
// programme affichage_nombres2.cpp
#include <stdio.h>
int main
{
int n, i ;
printf( "Donnez un entier strictement positif :" ) ;
scanf( "%d" , &n ) ;
printf( "Les entiers compris entre 1 et %d sont :" , n ) ;
for ( i = 1 ; i <= n ; i = i+1 )
printf( "%d\t" , i ) ;
printf( "Au revoir" ) ;
return 0 ;
}

M. Djamal Seck UCAD/FST/L2 MPI 2020-2021 Ch 3 – Les structures de contrôle Page 10 / 10

Vous aimerez peut-être aussi