kapcsoló ... eset a C programozásban

Ebben az oktatóanyagban megtanulod létrehozni a kapcsoló utasítást a C programozásban egy példa segítségével.

A kapcsoló utasítás lehetővé teszi számunkra, hogy egy alternatív kód közül egy kódblokkot hajtsunk végre.

Ugyanezt teheti a if… else… iflétrával is. Az switchállítás szintaxisa azonban sokkal könnyebben olvasható és írható.

A kapcsoló szintaxisa…

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

Hogyan működik a switch utasítás?

A kifejezést egyszer értékelik és összehasonlítják az egyes esetek címkéinek értékeivel.

  • Ha van egyezés, akkor az egyező címke után a megfelelő utasítások végrehajtásra kerülnek. Például, ha a kifejezés értéke megegyezik a konstans2 értékkel, akkor az utáni utasításokat case constant2:addig breakhajtjuk végre, amíg rá nem találunk .
  • Ha nincs egyezés, az alapértelmezett utasítások végrehajtásra kerülnek.

Ha nem használjuk break, akkor a megfelelő címke után minden utasítás végrehajtásra kerül.

Egyébként a defaultmondat belsejében szereplő záradék switchopcionális.

kapcsoló Statement Flowchart

Példa: Egyszerű számológép

 // 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; ) 

Kimenet

 Írjon be egy operátort (+, -, *,): - Írjon be két operandusot: 32,5 12,4 32,5 - 12,4 = 20,1

A felhasználó által beírt - operátort az operátor változó tárolja. Két 32.5 és 12.4 operandus tárolódik az n1 és az n2 változókban.

Mivel az operátor -, a program vezérlése erre ugrik

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

Végül a break utasítás befejezi az switchállítást.

érdekes cikkek...