I denne opplæringen lærer du å lage bryteruttalelsen i C-programmering ved hjelp av et eksempel.
Bryteruttalelsen lar oss utføre en kodeblokk blant mange alternativer.
Du kan gjøre det samme med if… else… if
stigen. Syntaksen til switch
utsagnet er imidlertid mye lettere å lese og skrive.
Syntaks for bryter … sak
switch (expression) ( case constant1: // statements break; case constant2: // statements break;… default: // default statements )
Hvordan fungerer brytererklæringen?
Uttrykket evalueres en gang og sammenlignes med verdiene til hver saksmerke.
- Hvis det er samsvar, blir de tilhørende setningene etter samsvarende etikett utført. For eksempel, hvis verdien av uttrykket er lik konstant2, blir setninger etter
case constant2:
utført tilbreak
oppstår. - Hvis det ikke samsvarer, kjøres standarduttalelsene.
Hvis vi ikke bruker det break
, blir alle utsagnene etter samsvarende etikett utført.
For øvrig er default
paragrafen inne i switch
uttalelsen valgfri.
bytte Statement Flytskjema
Eksempel: Enkel kalkulator
// 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; )
Produksjon
Angi en operatør (+, -, *,): - Skriv inn to operander: 32,5 12,4 32,5 - 12,4 = 20,1
Operatøren - som er angitt av brukeren, er lagret i operatørvariabelen. Og to operander 32.5 og 12.4 er lagret i henholdsvis variablene n1 og n2.
Siden operatøren er det -
, hopper kontrollen over programmet til
printf ("%. 1lf -% .1lf =% .1lf", n1, n2, n1-n2);
Til slutt avslutter pausesetningen switch
uttalelsen.