Académique Documents
Professionnel Documents
Culture Documents
Syntaxe :
Remarques :
Les { } ne sont pas nécessaires lorsque les blocs ne comportent qu'une seule
instruction.
On peut avoir des « if » imbriqués.
Exemples :
1.
if (a > b)
max = a;
else
max = b;
2.
if (A-B)
printf("A est différent de B\n");
else
printf("A est égal à B\n");
1
Cours programmation 1 : langage C Chapitre 3 : Les instructions de contrôle
3.
if (A > B)
{
AIDE = A;
A = C;
C = AIDE;
}
else
{
AIDE = B;
B = C;
C = AIDE;
}
Opérateurs de comparaison :
Libellé Opérateur
Inférieur <<<
Supérieur >
Egalité ==
Différent !=
Libellé Opérateur
Opérateurs logiques :
Ou (or) ||
Non (not) !
2
Cours programmation 1 : langage C Chapitre 3 : Les instructions de contrôle
Remarque 1 :
Remarque 2 :
En combinant plusieurs structures if - else en une expression nous obtenons une structure qui
est très courante pour prendre des décisions entre plusieurs alternatives:
if ( <expr1> )
<bloc1>
else if (<expr2>)
<bloc2>
else if (<expr3>)
<bloc3>
else if (<exprN>)
<blocN>
else <blocN+1>
Les expressions <expr1> ... <exprN> sont évaluées du haut vers le bas jusqu'à ce que l'une
d'elles soit différente de zéro. Le bloc d'instructions y lié est alors exécuté et le traitement de
la commande est terminé.
Exemple :
#include <stdio.h>
main()
{
int A,B;
printf("Entrez deux nombres entiers :");
scanf("%d %d", &A, &B);
if (A > B)
printf("%d est plus grand que %d\n", A, B);
else if (A < B)
printf("%d est plus petit que %d\n", A, B);
else
printf("%d est égal à %d\n", A, B);
}
Exercices :
Ecrire un programme qui accepte l’entrée de trois entiers et les affiches dans l’ordre (le plus
petit le plus grand).
C’est un moyen qui permet des choix multiples uniquement sur des entiers ou des caractères.
3
Cours programmation 1 : langage C Chapitre 3 : Les instructions de contrôle
Syntaxe :
switch (choix)
{
case cst1 : liste d'instructions 1 ;
break;
case cst2 : liste d'instructions 1 ;
break;
….
default : liste instructions N ;
}
Remarques :
Le bloc default n’est pas obligatoire.
« choix » doit être de type char , int ou long.
choix, cst1, cst2 et les autres valeurs sont de même type.
L’instruction break permet de sortir de l’instruction switch. Elle est importante car si on ne la
met pas après chaque cas d’exécution alors toutes les instructions après ce cas seront
exécutées (bien sur s’ils ne sont pas suivis d’une autre instruction break).
Exemples :
1.
#include <stdio.h>
main( )
{
int nombre;
printf("Entrer un nombre entier entre 2 et 5");
scanf("%d", &nombre);
switch (nombre)
{
case 2 : printf("\n votre nombre est 2");
break;
case 3 : printf("\n votre nombre est 3");
break;
case 4 : printf("\n votre nombre est 4");
break;
case 5 : printf("\n votre nombre est 5");
break;
default : printf("\n Nombre erroné");
}
}
2.
#include <stdio.h>
main( )
{
Char car;
printf("Entrer votre caractère");
scanf("%c", &car);
4
Cours programmation 1 : langage C Chapitre 3 : Les instructions de contrôle
switch( car )
{
case ‘ ’:
case ‘,’:
case ‘.’:
printf(" Séparateur" ) ;
break ;
case ‘<’:
case ‘>’:
printf(" Opérateur de comparaison" ) ;
break ;
default : printf(“Autre”)
}