kytkin ... tapaus C-ohjelmoinnissa

Tässä opetusohjelmassa opit luomaan kytkinlausekkeen C-ohjelmoinnissa esimerkin avulla.

Kytkinlausekkeen avulla voimme suorittaa yhden koodilohkon monien vaihtoehtojen joukossa.

Voit tehdä saman asian if… else… iftikkailla. switchLausunnon syntaksia on kuitenkin paljon helpompi lukea ja kirjoittaa.

Kytkimen… tapauksen syntakse

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

Kuinka kytkinlausunto toimii?

Lauseke arvioidaan kerran ja verrataan kunkin tapausleiman arvoihin.

  • Jos vastaavuus on olemassa, vastaavat lausekkeet vastaavan tunnisteen jälkeen suoritetaan. Esimerkiksi, jos lausekkeen arvo on yhtä suuri kuin vakio2, lauseet sen jälkeen case constant2:suoritetaan, kunnes breakkohtaaminen tapahtuu.
  • Jos vastaavuutta ei löydy, oletuslausekkeet suoritetaan.

Jos emme käytä break, kaikki vastaavan tunnisteen jälkeiset lauseet suoritetaan.

Muuten defaultlauseen sisällä oleva switchlause on valinnainen.

vaihda Statement Flowchart

Esimerkki: Yksinkertainen laskin

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

Tuotos

 Syötä operaattori (+, -, *,): - Syötä kaksi operandia: 32,5 12,4 32,5 - 12,4 = 20,1

Käyttäjän syöttämä operaattori tallennetaan operaattorimuuttujaan. Ja kaksi operandia 32.5 ja 12.4 tallennetaan muuttujiin n1 ja n2 vastaavasti.

Koska käyttäjä on -, ohjelman ohjaus hyppää kohtaan

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

Lopuksi rikkomuslauseke lopettaa switchlauseen.

Mielenkiintoisia artikkeleita...