Accueil > Langage C > Langage C – Les cas

Langage C – Les cas

This entry is part 7 of 10 in the series Langage C - Tutoriel

En dehors de la classique structure if...else, le C possede une autre structure lui permettant
de tester les variables : il s’agit de la structure switch.
switch va executer un groupe d’instructions correspondant à une valeur bien précise de la variable.
Ces groupes sont appellés des cas.
Voici la syntaxe d’une structure switch « classique » :

switch(variable){
case constante1 :
instruction1;
instruction2;
break;

case constante1 :
instruction1;
instruction2;
break;

default :
instruction1;
instruction2;
}

Lorsque le programme rencontre cette structure, il regarde le cas dont constante correspond à
la valeur de variable.
Si il trouve une constante remplissant cette condition, il execute les instructions situés juste en dessous,
jusqu’à ce qu’il rencontre un break ou bien jusqu’à la fin de la structure si aucun break
n’est rencontré.
break force le programme à sortir de la structure switch. On verra par la suite
que son utilisation n’est pas seulement limitée à la seule structure switch.
Cela signifie qu’en l’abscence de break des instructions appartenant à plusieurs cas peuvent être
executées. Ceci peut, comme dans l’exemple ci-dessous, être un effet recherché.
Si aucun cas, ne correspond à la valeur de variable, les instructions placées après default
seront executées.

Les constantes utilisées dans les case ne peuvent être que des entiers ou des caractères (nous en
apprendrons plus sur les caractères par la suite).

Voici un exemple d’utilisation de la structure switch :

#include <stdio.h>

int main(){
int combien=5;/* Assignez le nombre que vous voulez*/

switch(combien){
case 0 :/* Si combien == 0*/
puts("Vous connaissez la sortie...");
break;/* On sort du switch*/

case 1 :/* Si combien == 1*/
puts("Une table pour une personne, une !");
break;/* On sort du switch*/

case 2 :/* Si combien == 2*/
puts("Haha! Un dîner en tête à tête ?");
break;/* On sort du switch*/

case 7 :/* Si combien == 7
   Pas de break on ne sort
   pas du switch*/

case 13 :/* ou Si conbien == 13*/
puts("Désolé, ici on est superstiteux ");
puts("et on ne sert pas se nombre de couverts");
break;/* On sort du switch*/

default :/* Sinon...
   On teste avec des if...else
   pour trouver le cas approprié*/
if(combien > 2 && combien < 13){
puts("C'est un repas en famille ?");
}
else if(combien > 12){
puts("Mais vous êtes une armée !");
}
else{
puts("Très drôle");
}
break;
}

return 0;
}
Series Navigation«Langage C – Structure conditionnelleLangage C – Les boucles»
Categories: Langage C Tags:
  1. Pas encore de commentaire
  1. Pas encore de trackbacks