comutați ... caz în programarea C

În acest tutorial, veți învăța să creați instrucțiunea switch în programarea C cu ajutorul unui exemplu.

Instrucțiunea switch ne permite să executăm un bloc de cod printre multe alternative.

Puteți face același lucru cu if… else… ifscara. Cu toate acestea, sintaxa switchenunțului este mult mai ușor de citit și de scris.

Sintaxa comutatorului … caz

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

Cum funcționează declarația switch?

Expresia este evaluată o dată și comparată cu valorile fiecărei etichete de caz.

  • Dacă există o potrivire, declarațiile corespunzătoare după eticheta de potrivire sunt executate. De exemplu, dacă valoarea expresiei este egală cu constanta2, instrucțiunile de după case constant2:sunt executate până când breakeste întâlnită.
  • Dacă nu există nicio potrivire, instrucțiunile implicite sunt executate.

Dacă nu folosim break, toate declarațiile după eticheta potrivită sunt executate.

Apropo, defaultclauza din switchdeclarație este opțională.

comutați diagrama de flux declarație

Exemplu: Calculator simplu

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

Ieșire

 Introduceți un operator (+, -, *,): - Introduceți doi operanzi: 32,5 12,4 32,5 - 12,4 = 20,1

Operatorul - introdus de utilizator este stocat în variabila operator. Și, doi operanzi 32.5 și 12.4 sunt stocate în variabilele n1 și respectiv n2.

Deoarece operatorul este -, controlul programului sare la

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

În cele din urmă, declarația de pauză încheie switchdeclarația.

Articole interesante...