Instruction conditionnelle multiple "switch...case"

SyntaxeDéclaration

1
switch (expression)
2
{
3
  case valeur1: instructions1;break;
4
  case valeur2: instructions2;break;
5
...
6
  case valeur3: instruction3;break;
7
  default: instruction4;break;
8
}
  • expression est évaluée :

    • Si le résultat vaut valeur1, alors instruction1 est exécutée et on quitte le switch,

    • sinon si expression vaut valeur2, ......,

    • sinon on va dans default pour exécuter instruction4.

RemarquePlusieurs cas pour un seul traitement

Lorsque plusieurs cas conduisent au même groupe d'instructions, il est possible de les regrouper :

1
switch (expression)
2
{
3
case 1 :
4
    instructions1 ;
5
    break ;
6
case 2 :
7
case 4 :
8
case 5 :
9
    instructions2 ; /* s'applique aux 3 cas 2, 4 et 5 */
10
    break ;
11
case 8 :
12
    instructions3;
13
    break; //Pas utile sauf si on ajouter plus tard d'autres cas...
14
}
15

Exemple

1
int c='a';
2
switch (c){
3
  case 'a' : file();break;
4
  case 'b' : save();break;
5
  case 'q' : quitter();break;
6
  default : beep();break;
7
}

RemarqueInstruction "break"

Permet de sortir prématurément d'une boucle

Exemple

1
int i;
2
int n=20;
3
for (i=0;i<10;i++){
4
  if (n==31) break; //Quand n vaut 31 alors la boucle est interrompue
5
  n=n+2;
6
}
7

Syntaxe