Î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… if
scara. Cu toate acestea, sintaxa switch
enunț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ândbreak
este î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, default
clauza din switch
declaraț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 switch
declarația.