interrupteur ... cas en programmation C

Dans ce didacticiel, vous apprendrez à créer l'instruction switch en programmation C à l'aide d'un exemple.

L'instruction switch nous permet d'exécuter un bloc de code parmi de nombreuses alternatives.

Vous pouvez faire la même chose avec l' if… else… iféchelle. Cependant, la syntaxe de l' switchinstruction est beaucoup plus facile à lire et à écrire.

Syntaxe de switch… case

 switch (expression) ( case constant1: // statements break; case constant2: // statements break;… default: // default statements )

Comment fonctionne l'instruction switch?

L'expression est évaluée une fois et comparée aux valeurs de chaque étiquette de cas.

  • S'il y a une correspondance, les instructions correspondantes après l'étiquette correspondante sont exécutées. Par exemple, si la valeur de l'expression est égale à constant2, les instructions après case constant2:sont exécutées jusqu'à ce qu'elles breaksoient rencontrées.
  • S'il n'y a pas de correspondance, les instructions par défaut sont exécutées.

Si nous n'utilisons pas break, toutes les instructions après l'étiquette correspondante sont exécutées.

À propos, la defaultclause à l'intérieur de l' switchinstruction est facultative.

Organigramme de l'instruction switch

Exemple: calculatrice simple

 // Program to create a simple calculator #include int main() ( char operator; double n1, n2; printf("Enter an operator (+, -, *, /): "); scanf("%c", &operator); printf("Enter two operands: "); 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; // operator doesn't match any case constant +, -, *, / default: printf("Error! operator is not correct"); ) return 0; ) 

Production

 Entrez un opérateur (+, -, *,): - Entrez deux opérandes: 32,5 12,4 32,5 - 12,4 = 20,1

L'opérateur - saisi par l'utilisateur est stocké dans la variable opérateur. Et, deux opérandes 32.5 et 12.4 sont stockés dans les variables n1 et n2 respectivement.

Puisque l'opérateur est -, le contrôle du programme passe à

 printf ("%. 1lf -% .1lf =% .1lf", n1, n2, n1-n2);

Enfin, l'instruction break termine l' switchinstruction.

Articles intéressants...