I denne vejledning lærer du at oprette switch-sætningen i C-programmering ved hjælp af et eksempel.
Switch-sætningen giver os mulighed for at udføre en kodeblok blandt mange alternativer.
Du kan gøre det samme med if… else… if
stigen. Imidlertid er syntaksen for switch
udsagnet meget lettere at læse og skrive.
Syntaks for switch … sag
switch (expression) ( case constant1: // statements break; case constant2: // statements break;… default: // default statements )
Hvordan fungerer switch-erklæringen?
Udtrykket evalueres en gang og sammenlignes med værdierne for hver enkelt sagsmærkat.
- Hvis der er et match, udføres de tilsvarende udsagn efter den matchende etiket. For eksempel, hvis udtrykets værdi er lig med konstant2,
case constant2:
udføres udsagn efter , indtil debreak
opstår. - Hvis der ikke er nogen match, udføres standarderklæringerne.
Hvis vi ikke bruger det break
, udføres alle udsagn efter den matchende etiket.
Forresten er default
klausulen inde i switch
erklæringen valgfri.
skifte Statement Flowchart
Eksempel: Enkel lommeregner
// 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; )
Produktion
Indtast en operator (+, -, *,): - Indtast to operander: 32,5 12,4 32,5 - 12,4 = 20,1
Operatøren - indtastet af brugeren er gemt i operatorvariablen. Og to operander 32.5 og 12.4 er gemt i henholdsvis variablerne n1 og n2.
Da operatøren er -
, springer styringen af programmet til
printf ("%. 1lf -% .1lf =% .1lf", n1, n2, n1-n2);
Endelig afslutter switch
udsagnet.