slēdzis ... gadījums C programmēšanā

Satura rādītājs

Šajā apmācībā jūs iemācīsities izveidot slēdža paziņojumu C programmēšanā, izmantojot piemēru.

Slēdža paziņojums ļauj mums izpildīt vienu koda bloku starp daudzām alternatīvām.

Jūs varat darīt to pašu ar if… else… ifkāpnēm. Tomēr switchapgalvojuma sintaksi ir daudz vieglāk lasīt un rakstīt.

Slēdža … burtu sintakse

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

Kā slēdzis darbojas?

Izteiksme tiek novērtēta vienu reizi un salīdzināta ar katra gadījuma etiķetes vērtībām.

  • Ja ir atbilstība, tiek izpildīti atbilstošie priekšraksti pēc atbilstošās etiķetes. Piemēram, ja izteiksmes vērtība ir vienāda ar konstanti2, paziņojumi pēc case constant2:tiek izpildīti, līdz breaksastopami.
  • Ja nav atbilstības, tiek izpildīti noklusējuma paziņojumi.

Ja mēs to neizmantojam break, tiek izpildīti visi priekšraksti pēc atbilstošās etiķetes.

Starp citu, defaultteikumā esošā klauzula switchnav obligāta.

slēdzis Pārskatu blokshēma

Piemērs: vienkāršs kalkulators

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

Rezultāts

 Ievadiet operatoru (+, -, *,): - ievadiet divus operandus: 32,5 12,4 32,5 - 12,4 = 20,1

Lietotāja ievadītais operators tiek saglabāts operatora mainīgajā. Divi operandi 32.5 un 12.4 tiek glabāti attiecīgi mainīgajos n1 un n2.

Tā kā operators ir -, programmas vadība pāriet uz

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

Visbeidzot, break break paziņojums tiek izbeigts switch.

Interesanti raksti...