switch ... case statement i C (Exempel)

Vad är Switch Statement i C?

Byt uttalande i C testar värdet på en variabel och jämför det med flera fall. När fallmatchningen hittats utförs ett block av uttalanden som är associerade med just det fallet.

Varje fall i ett block av en switch har ett annat namn/nummer som kallas en identifierare. Värdet som användaren tillhandahåller jämförs med alla fall i switchblocket tills matchningen hittas.

Om en matchning INTE hittas utförs standarduttalandet och kontrollen går ut ur switchblocket.

I denna handledning lär du dig-

Växla fallsyntax

En allmän syntax för hur switch-case implementeras i ett C-program är följande: | _+_ |

  • Uttrycket kan vara heltal eller ett teckenuttryck.
  • Värde-1, 2, n är etiketter som används för att identifiera varje enskilt fall. Kom ihåg att etiketterna inte ska vara desamma eftersom det kan skapa problem när ett program körs. Antag att vi har två fall med samma etikett som '1'. När programmet körs kommer fallet som visas först att köras även om du vill att programmet ska köra ett andra fall. Detta skapar problem i programmet och ger inte önskad utmatning.
  • Etikettetiketter slutar alltid med ett kolon (:). Var och en av dessa fall är associerad med ett block.
  • Ett block är inget annat än flera uttalanden som är grupperade för ett visst fall.
  • Närhelst växeln utförs jämförs värdet av testuttryck med alla de fall som vi har definierat inuti omkopplaren. Antag att testuttrycket innehåller värde 4. Detta värde jämförs med alla fall tills fall vars etikett fyra finns i programmet. Så snart ett fall hittas exekveras blocket av uttalanden som är associerade med just det fallet och kontrollen går ut ur omkopplaren.
  • Sökordet paus i varje enskilt fall indikerar slutet på ett visst fall. Om vi ​​inte sätter pausen i varje fall, även om det specifika fallet körs, kommer omkopplaren i C att fortsätta att utföra alla ärenden tills slutet är nått. Detta bör inte hända; Därför måste vi alltid sätta pausord i varje fall. Break kommer att avsluta fallet när det är kört och kontrollen faller ur omkopplaren.
  • Standardfallet är valfritt. När värdet av testuttryck inte matchas med något av fallen inuti omkopplaren, kommer standard att köras. Annars är det inte nödvändigt att skriva standard i omkopplaren.
  • När omkopplaren har utförts kommer kontrollen att gå till sats-x, och körningen av ett program fortsätter.

Flödesschema Diagram över omkopplarfodral

Följande diagram illustrerar hur ett fall väljs i omkopplarfodralet:

Hur Switch fungerar



gratis app för att spåra en mobiltelefon

Växla exempel i C

Följande program illustrerar användningen av switch: | _+_ |

Utgång: | _+_ |

  1. I det givna programmet har vi förklarat initierat en variabel num med värde 8.
  2. En switchkonstruktion används för att jämföra värdet lagrat i variabel num och exekvera blocket av satser associerade med det matchade fallet.
  3. I det här programmet, eftersom värdet som är lagrat i variabel num är åtta, kommer en switch att köra fallet vars etikett är 8. Efter att ha kört fallet kommer kontrollen att falla ur omkopplaren och programmet kommer att avslutas med det lyckade resultatet av skriva ut värdet på utmatningsskärmen.

Försök ändra värdet på variabeln num och märk förändringen i utdata.

Till exempel betraktar vi följande program som är standard: | _+_ |

Utgång: | _+_ |

När du arbetar med switchväska i C grupperar du flera fall med unika etiketter. Du måste införa ett break -statement i varje fall för att grena i slutet av ett switch -statement.

Det valfria standardfallet körs när inga andra matchningar görs.

Vi överväger följande switch -sats: | _+_ |

Utgång: | _+_ |

Kapslad switch i C

I C kan vi ha en inre switch inbäddad i en yttre switch. Fallkonstanterna för den inre och yttre omkopplaren kan också ha gemensamma värden och utan konflikter.

Vi anser följande program som användaren skriver sitt eget ID, om ID är giltigt kommer det att be honom att ange sitt lösenord, om lösenordet är korrekt kommer programmet att skriva ut användarens namn, annars kommer programmet att skriva ut Felaktigt Lösenord och om ID inte finns kommer programmet att skriva ut Felaktigt ID | _+_ |

UTGÅNG: | _+_ |

  1. I det givna programmet har vi förklarat initialiserade två variabler: ID och lösenord
  2. En yttre switchkonstruktion används för att jämföra värdet som anges i variabel -ID. Det kör blocket av uttalanden som är associerade med det matchade fallet (när ID == 500).
  3. Om block -satsen körs med det matchade fallet används en inre switch för att jämföra värdena som anges i variabelns lösenord och utföra de satser som är kopplade till det matchade fallet (när lösenord == 000).
  4. I annat fall utlöser omkopplarfodralet standardfallet och skriver ut lämplig text om programmets disposition.

Varför behöver vi ett switchfodral?

Det finns ett potentiellt problem med if-else-uttalandet som är programmets komplexitet ökar när antalet alternativa vägar ökar. Om du använder flera if-else-konstruktioner i programmet kan ett program bli svårt att läsa och förstå. Ibland kan det till och med förvirra utvecklaren som själv skrev programmet.

Lösningen på detta problem är switch -satsen.

Regler för switch -uttalande:

  • Ett uttryck måste alltid köras till ett resultat.
  • Etiketter måste vara konstanta och unika.
  • Etiketter måste sluta med ett kolon (:).
  • Ett pausord måste finnas i varje fall.
  • Det kan bara finnas en standardetikett.
  • Vi kan bära flera switch -uttalanden.

Sammanfattning

  • En switch är en beslutsfattande konstruktion i 'C.'
  • En switch används i ett program där flera beslut är inblandade.
  • En switch måste innehålla ett körbart testuttryck.
  • Varje fall måste innehålla ett pausord.
  • Skyltetiketten måste vara konstant och unik.
  • Standard är valfritt.
  • Flera switch -satser kan kapslas inuti varandra.