Nom de l'instruction : switch
Type : contrôle du flux des instructions
Bibliothèque : commande du langage
Syntaxe :
switch( valeur énumérée )
{ case valeur 1 : instructions ;
…
instructions ;
case valeur 2 : instructions ;
…
instructions ;
…
case valeur n : instructions ;
…
instructions ;
default : instructions ;
…
instructions ;
}
Action : Effectue les instructions de la séquence entre accolades à partir du case correspondant à la valeur énumérée.
Remarques :
- Il n'y a qu'une seule séquence d'instruction, les case sont des points d'entrée dans la séquence.
- Il est possible de quitter la séquence en utilisant un break;
- Il est possible de mettre deux case à la suite pour que l'entrée dans la séquence soit le même pour ces deux valeurs.
- La valeur est énumérée. C'est à dire qu'il est possible d'énumérer (de lister) toutes les valeurs. C'est donc une expression de type int ou char et ce ne peut être une variable de type float ou double.
- Si aucun case ne correspond à la valeur testée la séquence est exécutée à partir du point default.
- Il faut toujours prévoir un default.
Exemple :
char choix ;
…
switch( choix ) /* choix est une variable de type char
* les "cas" sont donc des char
*/
{ case 't' : // pas d’instruction on passe à e=2
case 'T' : e = 2 ;
d = 0 ;
break ;
case 's' :
case 'S' : e = 3 ;
d = 1 ;
break ;
default :
printf( "veuillez entrer 't', 'T', 's' ou 'S' ! " );
}