© Éditions Eyrolles
73
chapitre n° 5
Les instructions de contrôle
L’instruction switch s’étend ici sur huit lignes (elle commence au mot switch). Son exécution
se déroule comme suit. On commence tout d’abord par évaluer l’expression figurant après le mot
switch (ici n). Puis, on recherche dans le bloc qui suit s’il existe une « étiquette » de la forme
« case x » correspondant à la valeur ainsi obtenue. Si c’est le cas, on se branche à l’instruction
figurant après cette étiquette. Dans le cas contraire, on passe à l’instruction qui suit le bloc.
Par exemple, quand n vaut 0, on trouve effectivement une étiquette case 0 et l’on exécute
l’instruction correspondante, c’est-à-dire :
printf ("nul") ;
On passe ensuite, naturellement, à l’instruction suivante, à savoir, ici :
break ;
Celle-ci demande en fait de sortir du bloc. Notez bien que le rôle de cette instruction est
fondamental. Voyez, à titre d’exemple, ce que produirait ce même programme en l’absence
d’instructions break :
Premier exemple d’instruction switch (suite)
donnez un entier : 0
nul
au revoir
______
donnez un entier : 2
deux
au revoir
______
donnez un entier : 5
au revoir
Absence d’instructions break
main()
{
int n ;
printf ("donnez un entier : ") ;
scanf ("%d", &n) ;
switch (n)
{ case 0 : printf ("nul\n") ;
case 1 : printf ("un\n") ;
case 2 : printf ("deux\n") ;
}
printf ("au revoir\n") ;
}
Delannoy Livre.book Page 73 Mercredi, 6. mai 2009 4:26 16
73
chapitre n° 5
Les instructions de contrôle
L’instruction switch s’étend ici sur huit lignes (elle commence au mot switch). Son exécution
se déroule comme suit. On commence tout d’abord par évaluer l’expression figurant après le mot
switch (ici n). Puis, on recherche dans le bloc qui suit s’il existe une « étiquette » de la forme
« case x » correspondant à la valeur ainsi obtenue. Si c’est le cas, on se branche à l’instruction
figurant après cette étiquette. Dans le cas contraire, on passe à l’instruction qui suit le bloc.
Par exemple, quand n vaut 0, on trouve effectivement une étiquette case 0 et l’on exécute
l’instruction correspondante, c’est-à-dire :
printf ("nul") ;
On passe ensuite, naturellement, à l’instruction suivante, à savoir, ici :
break ;
Celle-ci demande en fait de sortir du bloc. Notez bien que le rôle de cette instruction est
fondamental. Voyez, à titre d’exemple, ce que produirait ce même programme en l’absence
d’instructions break :
Premier exemple d’instruction switch (suite)
donnez un entier : 0
nul
au revoir
______
donnez un entier : 2
deux
au revoir
______
donnez un entier : 5
au revoir
Absence d’instructions break
main()
{
int n ;
printf ("donnez un entier : ") ;
scanf ("%d", &n) ;
switch (n)
{ case 0 : printf ("nul\n") ;
case 1 : printf ("un\n") ;
case 2 : printf ("deux\n") ;
}
printf ("au revoir\n") ;
}
Delannoy Livre.book Page 73 Mercredi, 6. mai 2009 4:26 16
