English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Dans ce tutoriel, vous apprendrez à créer une instruction switch en programmation C à l'aide d'un exemple.
L'instruction switch nous permet d'exécuter l'un des nombreux blocs de code possibles.
Bien que vous puissiez utiliser if...else..if pour exécuter la même opération. Cependant, la syntaxe de l'instruction switch est plus facile à lire et à écrire.
switch (expression) { case constant1: // Instructions break; case constant2: // Instructions break; . . . default: // Instruction par défaut }
Comment fonctionne l'instruction switch ?
L'expression (expression) est évaluée une fois et comparée à chaque balise case
Si il y a une correspondance, exécuter les instructions après la balise correspondante. Par exemple, si la valeur de l'expression est égale à constant2Alors, exécuter case constant2Les instructions après : jusqu'à ce que break soit rencontré.
Si il n'y a pas de correspondance, l'instruction par défaut (default) sera exécutée.
Si break n'est pas utilisé, toutes les instructions après la balise correspondante seront exécutées.
En passant, la clause default de l'instruction switch est optionnelle.
//Le programme crée un simple calculateur #include <stdio.h> int main() { char operator; double n1, n2; printf("Entrer un opérateur (+, -, *, /)"); scanf("%c", &operator); printf("Entrer deux opérandes: "); scanf("%lf %lf", &n1, &n2); switch (operator) { case '+': printf("%.1lf + %.1lf = %.1lf", n1, n2, n1 + n2); break; case '-': printf("%.1lf - %.1lf = %.1lf", n1, n2, n1 - n2); break; case '*': printf("%.1lf * %.1lf = %.1lf", n1, n2, n1*n2); break; case '/': printf("%.1lf / %.1lf = %.1lf", n1, n2, n1 / n2); break; // Aucun opérateur correspondant trouvé ( +, -, *, /) default: printf("Erreur ! Opérateur incorrect"); } return 0; }
Résultat de sortie
Entrer un opérateur (+, -, *,): - Entrer deux opérandes: 32.5 12.4 32.5 - 12.4 = 20.1
l'opérateur entré par l'utilisateur (-)stocké dans la variable operator. De plus, deux opérandes32.5et}}12.4sont respectivement stockés dans la variable n1et n2dans.
Comme operator est -,par conséquent, le contrôle du programme saute à l'instruction
printf("%.1lf - %.1lf = %.1lf", n1, n2, n1-n2);
Enfin,Instruction breakTerminer cette instruction switch, fin de l'opération.