Retour au cours

Logique conditionnelle : L'instruction 'switch'

Langage C : de Zéro à Héros - Le Guide Complet pour Débutants

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 :

  1. L'expression doit donner un type entier ou caractère.
  2. 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.