Selles õpetuses õpite näite abil looma C-programmeerimise lülitilause.
Lüliti lause võimaldab meil paljude alternatiivide seas käivitada ühe koodiploki.
Redeliga saate teha sama asja if… else… if
. switch
Avalduse süntaksit on aga palju lihtsam lugeda ja kirjutada.
Lüliti… juhtumi süntaks
switch (expression) ( case constant1: // statements break; case constant2: // statements break;… default: // default statements )
Kuidas lüliti lause töötab?
Seda väljendit hinnatakse üks kord ja võrreldakse iga juhtumi sildi väärtustega.
- Kui on vaste, täidetakse vastavad sildid pärast vastavat lauset. Näiteks kui avaldise väärtus on võrdne konstandiga2,
case constant2:
käivitatakse avaldused pärast kunibreak
ilmumiseni. - Kui vastet pole, täidetakse vaikeväljavõtted.
Kui me seda ei kasuta break
, käivitatakse kõik vastava sildi järel olevad laused.
Muide, default
lause sees olev klausel switch
on valikuline.
lüliti Lause vooskeem
Näide: lihtne kalkulaator
// 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äljund
Sisestage operaator (+, -, *,): - sisestage kaks operandi: 32,5 12,4 32,5 - 12,4 = 20,1
Kasutaja sisestatud operaator salvestatakse operaatori muutujasse. Ja kaks operandi 32.5 ja 12.4 salvestatakse vastavalt muutujatesse n1 ja n2.
Kuna operaator on -
, hüppab programmi juhtimine
printf ("%. 1lf -% .1lf =% .1lf", n1, n2, n1-n2);
Lõpuks katkestab lause switch
lause.