prepínač ... prípad v programovaní C.

V tomto tutoriále sa naučíte vytvárať príkaz switch v programovaní C pomocou príkladu.

Príkaz switch nám umožňuje vykonať jeden blok kódu z mnohých alternatív.

To isté môžete urobiť aj s if… else… ifrebríkom. Syntax switchpríkazu je však oveľa ľahšia na čítanie a zápis.

Syntax prepínača … prípad

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

Ako funguje príkaz na prepnutie?

Výraz sa vyhodnotí raz a porovná sa s hodnotami každého označenia prípadu.

  • Ak existuje zhoda, vykonajú sa zodpovedajúce príkazy po zodpovedajúcom štítku. Napríklad ak je hodnota výrazu rovná sa konštantná2, príkazy po sa case constant2:budú vykonávať, kým breaksa nestretne.
  • Ak neexistuje zhoda, vykonajú sa predvolené príkazy.

Ak nepoužívame, vykonajú sa breakvšetky príkazy za zhodným štítkom.

Mimochodom, defaultdoložka vo vnútri switchvyhlásenia je voliteľná.

vývojový diagram príkazu switch

Príklad: jednoduchá kalkulačka

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

Výkon

 Zadajte operátor (+, -, *,): - Zadajte dva operandy: 32,5 12,4 32,5 - 12,4 = 20,1

Operátor - zadaný používateľom je uložený v premennej operátora. A dva operandy 32,5 a 12,4 sú uložené v premenných n1 respektíve n2.

Pretože je operátor -, riadenie programu preskočí na

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

Nakoniec príkaz break ukončí switchpríkaz.

Zaujímavé články...