Les instructions conditionnelles
Dites également instructions de rupture de séquence ou instructions de contrôle. Ce type d'instructions permet de choisir l'instruction qui sera exécutée. Ce choix entre deux ou plusieurs instructions est conditionné par une expression.
** Les instructions conditionnelles ou alternatives : l'instruction de branchement if
if (condition)
{
Bloc1 d'instructions
}
[else
{
Bloc2 d'instructions
} ]
La condition est une expression booléenne permettant de tester un état des données du programme.
Il est possible de définir plusieurs conditions à remplir avec les opérateurs ET et OU (&& et ||).
On conditionnera l'exécution par 2 conditions ainsi : if ((condition1)&&(condition2)).
À la suite de l'instruction de la clause alors ( { Bloc1 d'instructions } ), un saut inconditionnel au terme de l'instruction conditionnelle est mis en place.
** Les instructions conditionnelles : l'instruction de branchement switch
Switch (n)
{
case1 : instruction1 ; break ;
case2 : instruction2 ; break ;
case3 : instruction3 ; break ;
...
[default : instruction_par_défaut ;]
}
n est de type discret.
casei est une constante du même type que l'expression n.
La clause default permet d'exécuter une instruction pour les cas non prévus.
Pour regrouper plusieurs cas nécessitant la même instruction, il n'y a pas de saut inconditionnel après les instructions. C'est pourquoi il est nécessaire d'utiliser l'instruction break qui permet de continuer l'exécution après l'instruction de branchement.
Exemple :
L'instruction de branchement if
if ( x > 0) // x >0 est la condition
{
printf ("x superieur a zero\n") ;
}
else
{
printf ("x inferieur a 1\n") ;
}
L'instruction de branchement switch
switch (n)
{
case 1: printf("choix 1"); break;
case 2: printf("choix 2"); break;
case 3: printf("choix 3"); break;
case 4: printf("choix 4"); break;
case 5: printf("choix 5");
}
Remarque :
La clause else de l'instruction conditionnelle est optionnelle. On parle d'instruction conditionnelle simple.
Attention ! L'utilisation imbriquée d'instructions conditionnelles « complètes » et simples doit faire l'objet d'une écriture attentionnée pour éviter que l'interprétation du compilateur ne soit pas celle souhaitée par le programmeur.