stikalo ... primer v programiranju C

V tej vadnici se boste s pomočjo primera naučili ustvariti stavek switch v programiranju C.

Stavek Switch nam omogoča, da izvedemo en blok kode med številnimi možnostmi.

Enako lahko storite z if… else… iflestvijo. Sintakso switchstavka pa je veliko lažje brati in pisati.

Sintaksa stikala … ohišje

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

Kako deluje stavek Switch?

Izraz se ovrednoti enkrat in primerja z vrednostmi posamezne nalepke.

  • Če obstaja ujemanje, se izvedejo ustrezni stavki za ujemajočo se oznako. Če je na primer vrednost izraza enaka konstanti2, se stavki po case constant2:izvajajo, dokler breakse ne naleti.
  • Če ni ujemanja, se izvedejo privzeti stavki.

Če ne uporabimo break, se izvedejo vsi stavki po ujemajoči se oznaki.

Mimogrede, defaultklavzula v switchstavku ni obvezna.

diagram preklopa izjave

Primer: preprost 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; ) 

Izhod

 Vnesite operator (+, -, *,): - Vnesite dva operanda: 32,5 12,4 32,5 - 12,4 = 20,1

Operator, ki ga vnese uporabnik, je shranjen v operatorjevi spremenljivki. Dva operanda 32.5 in 12.4 sta shranjena v spremenljivkah n1 oziroma n2.

Ker je operater -, nadzor programa skoči na

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

Na koncu izjava break prekine switchizjavo.

Zanimive Članki...