Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Switch, Break | Instructions de Contrôle
Bases Du C

bookSwitch, Break

Utilisation de l'instruction switch

Imaginez que vous achetez un soda à un distributeur automatique. Après avoir sélectionné la boisson souhaitée, au sein du système informatique du distributeur, la variable user_input prend l'une des valeurs prédéfinies. Chacune de ces options est appelée un case, et c'est ici que l'instruction switch intervient.

Considérez l'instruction switch comme une autre version de l'instruction if-else. Elle agit en fonction de valeurs spécifiques que vous avez définies au préalable.

Voici à quoi ressemble la structure d'une instruction switch :

main.c

main.c

copy
1234567891011121314151617
switch (integer_expression) { case first_case_value: // Instruction for this case break; case second_case_value: // Instruction for this case break; case third_case_value: // Instruction for this case break; default: // Default instruction }

Considérons l'exemple d'un distributeur automatique. Supposons qu'il y ait trois boutons pour sélectionner différents types de chips :

  • Chips goût fromage ;
  • Chips goût bacon ;
  • Chips goût chili.
Main.c

Main.c

copy
123456789101112131415161718192021222324
#include <stdio.h> int main() { int userInput = 2; switch (userInput) { case 1: printf("You selected cheese-flavored chips.\n"); break; case 2: printf("You selected bacon-flavored chips.\n"); break; case 3: printf("You selected chili-flavored chips.\n"); break; default: printf("You selected another item.\n"); } return 0; }

Si l'expression testée ne correspond à aucun des cas listés, le cas default est exécuté. S'il n'y a pas de cas default fourni, le programme poursuit simplement son exécution.

Note
Remarque

L'expression testée dans une instruction switch ne peut être que de type entier ou char. Il est impossible d'utiliser des chaînes de caractères ou des types de données non entiers comme cas.

Main.c

Main.c

copy
12345678910111213141516171819202122232425
#include <stdio.h> int main() { char userInput = 'y'; switch (userInput) { case 'a': printf("You entered 'a' character\n"); break; case 'b': printf("You entered 'b' character\n"); break; case 'c': printf("You entered 'c' character\n"); break; default: printf("You entered unknown character\n"); } return 0; }

Rôle de break

La commande break interrompt l'exécution du bloc courant et passe au segment de code suivant. En pratique, une fois le cas concerné terminé, l'exécution quitte ce bloc et poursuit le programme.

Sans la commande break, l'instruction switch s'exécuterait de manière continue, ce qui entraînerait probablement des résultats inattendus.

Main.c

Main.c

copy
123456789101112131415161718192021222324
#include <stdio.h> int main() { char userInput = 'b'; switch (userInput) { case 'a': printf("You entered 'a' character\n"); // without break case 'b': printf("You entered 'b' character\n"); // without break case 'c': printf("You entered 'c' character\n"); // without break default: printf("You entered unknown character\n"); } return 0; }

En l'absence de la commande break, le programme commence à s'exécuter immédiatement après avoir trouvé un cas correspondant et continue jusqu'à ce qu'il trouve un break ou atteigne la fin du switch.

question mark

Quel est le principal objectif de l'instruction break à l'intérieur d'un bloc switch ?

Select the correct answer

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 4. Chapitre 4

Demandez à l'IA

expand

Demandez à l'IA

ChatGPT

Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion

Awesome!

Completion rate improved to 2.63

bookSwitch, Break

Glissez pour afficher le menu

Utilisation de l'instruction switch

Imaginez que vous achetez un soda à un distributeur automatique. Après avoir sélectionné la boisson souhaitée, au sein du système informatique du distributeur, la variable user_input prend l'une des valeurs prédéfinies. Chacune de ces options est appelée un case, et c'est ici que l'instruction switch intervient.

Considérez l'instruction switch comme une autre version de l'instruction if-else. Elle agit en fonction de valeurs spécifiques que vous avez définies au préalable.

Voici à quoi ressemble la structure d'une instruction switch :

main.c

main.c

copy
1234567891011121314151617
switch (integer_expression) { case first_case_value: // Instruction for this case break; case second_case_value: // Instruction for this case break; case third_case_value: // Instruction for this case break; default: // Default instruction }

Considérons l'exemple d'un distributeur automatique. Supposons qu'il y ait trois boutons pour sélectionner différents types de chips :

  • Chips goût fromage ;
  • Chips goût bacon ;
  • Chips goût chili.
Main.c

Main.c

copy
123456789101112131415161718192021222324
#include <stdio.h> int main() { int userInput = 2; switch (userInput) { case 1: printf("You selected cheese-flavored chips.\n"); break; case 2: printf("You selected bacon-flavored chips.\n"); break; case 3: printf("You selected chili-flavored chips.\n"); break; default: printf("You selected another item.\n"); } return 0; }

Si l'expression testée ne correspond à aucun des cas listés, le cas default est exécuté. S'il n'y a pas de cas default fourni, le programme poursuit simplement son exécution.

Note
Remarque

L'expression testée dans une instruction switch ne peut être que de type entier ou char. Il est impossible d'utiliser des chaînes de caractères ou des types de données non entiers comme cas.

Main.c

Main.c

copy
12345678910111213141516171819202122232425
#include <stdio.h> int main() { char userInput = 'y'; switch (userInput) { case 'a': printf("You entered 'a' character\n"); break; case 'b': printf("You entered 'b' character\n"); break; case 'c': printf("You entered 'c' character\n"); break; default: printf("You entered unknown character\n"); } return 0; }

Rôle de break

La commande break interrompt l'exécution du bloc courant et passe au segment de code suivant. En pratique, une fois le cas concerné terminé, l'exécution quitte ce bloc et poursuit le programme.

Sans la commande break, l'instruction switch s'exécuterait de manière continue, ce qui entraînerait probablement des résultats inattendus.

Main.c

Main.c

copy
123456789101112131415161718192021222324
#include <stdio.h> int main() { char userInput = 'b'; switch (userInput) { case 'a': printf("You entered 'a' character\n"); // without break case 'b': printf("You entered 'b' character\n"); // without break case 'c': printf("You entered 'c' character\n"); // without break default: printf("You entered unknown character\n"); } return 0; }

En l'absence de la commande break, le programme commence à s'exécuter immédiatement après avoir trouvé un cas correspondant et continue jusqu'à ce qu'il trouve un break ou atteigne la fin du switch.

question mark

Quel est le principal objectif de l'instruction break à l'intérieur d'un bloc switch ?

Select the correct answer

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 4. Chapitre 4
some-alt