Leçon 16 : Logique conditionnelle : L'instruction switch
L'instruction switch est une alternative efficace aux longues structures if-else if lorsqu'il s'agit de comparer une seule variable à plusieurs valeurs constantes.
Syntaxe
c switch (expression) { case constante1: // Bloc de code 1 break; case constante2: // Bloc de code 2 break; default: // Code si aucun cas ne correspond (optionnel) }
Règles clés :
- L'
expressiondoit donner un type entier ou caractère. constante1,constante2, etc., doivent être des expressions entières constantes (littéraux ou constantes définies, pas des variables).
Exemple : Vérificateur de jour
c #include <stdio.h>
int main() { int jour = 3;
switch (jour) {
case 1:
case 7:
printf("Week-end.\n");
break;
case 2:
case 3:
case 4:
case 5:
case 6:
printf("Jour de semaine.\n");
break;
default:
printf("Numéro de jour invalide.\n");
}
return 0;
}
L'importance de break
Si vous oubliez le mot-clé break, l'exécution continuera dans le bloc case suivant (phénomène de fall-through), même si la condition de ce cas n'est pas remplie. Bien que cela soit utile pour regrouper des cas (comme pour les jours 1 et 7 ci-dessus), c'est généralement indésirable et source de bugs.