Instruction switch

Le langage C offre une instruction switch qui est un if généralisé.
$\bullet$
Syntaxe :

instruction :
$\Rightarrow$ switch ( expression )
{
case expression$_1$ : liste-d'instructions $_{1 \hspace{1mm}option}$ break;$_{option}$
case expression$_2$ : liste-d'instructions $_{2 \hspace{1mm}option}$ break;$_{option}$

....

case expression$_n$ : liste-d'instructions $_{n \hspace{1mm}option}$ break;$_{option}$
default : liste-d'instructions
}

De plus :

-
toutes les expression$_i$ doivent délivrer une valeur connue à la compilation ;
-
il ne doit pas y avoir deux expression$_i$ délivrant la même valeur ;
-
l'alternative default est optionnelle.
$\bullet$
Sémantique :
  1. expression est évaluée, puis le résultat est comparé avec expression$_1$, expression$_2$, etc.
  2. à la première expression$_i$ dont la valeur est égale à celle de expression, on exécute la (ou les) 3.3liste-d'instructions correspondante(s) jusqu'à la rencontre de la première instruction break;. La rencontre d'une instruction break termine l'exécution de l'instruction switch.
  3. si il n'existe aucune expression$_i$ dont la valeur soit égale à celle de expression, on exécute la liste-d'instructions de l'alternative default si celle-ci existe, sinon on ne fait rien.



Sous-sections
Matthieu Moy 2017-02-08