C Bytt saksetater

C Switch Case Statements



En switch -setning - eller ganske enkelt en case statement - er en kontrollflytmekanisme som bestemmer utførelsen av et program basert på verdien av en variabel eller et uttrykk.

Ved å bruke en switch -setning kan du teste flere forhold og bare utføre en bestemt blokk hvis betingelsen er sann. Selv om den fungerer på samme måte som en if ... else if ... .else -setning, er syntaksen enklere og lettere å lese og administrere.







Denne opplæringen fokuserer på å vise deg hvordan du lager og arbeider med switch -setninger i C -programmering.



Grunnleggende bruk

Bryteruttalelsen er enkel å implementere. Den generelle syntaksen er som vist nedenfor:



bytte om (ekspr) {
casevar1:
// kode
gå i stykker;
casevar2:
//kode
gå i stykker;
casevar3:
// kode
gå i stykker;
casevarN:
// kode
gå i stykker;
...
….
….
misligholde:
//kode
}

Hvordan det fungerer

Byttesetningen implementerer en enkel logikk for å evaluere hver av sakblokkene.





Det starter med å evaluere uttrykket inne i bryterblokken. Deretter sammenligner den verdien fra bryterblokken med hver boks.

Når den finner en treff i en av de definerte saksblokkene, kjører den koden inne i blokken til den støter på søkeordet pause.



Hvis den ikke finner en treff i noen av de definerte saksblokkene, hopper den til standardsetningen og kjører koden inne i den. Standardblokken er valgfri og kan utelates hvis det ikke er nødvendig handling for et scenario som ikke samsvarer

MERK: Det er godt å sørge for at hver saksuttalelse avsluttes med en pauseerklæring for å forhindre at alle utsagnene etter matchende blokk utføres.

C Bytt eksempeleksempel

La oss illustrere switch -setningen med et veldig enkelt eksempel:

#inkludere

i hovedsak() {
inthvor= 5;
bytte om (hvor) {
case3:
printf ('Verdien er 3');
gå i stykker;
case4:
printf ('Verdien er 4');
gå i stykker;
sak 5:
printf ('Verdien er 5');
gå i stykker;
misligholde:
printf ('Verdien er verken 3, 4 eller 5');
}
retur 0;
}

Hvis vi kjører eksemplet ovenfor, bør vi få en utgang som ligner den nedenfor:

Verdien er5

Følgende flytdiagram illustrerer logikken i programmet ovenfor:

En nestet brytererklæring

C lar deg ha nestede switch -setninger inne i en switch -setning. Den nestede bryteruttalelsen knytter seg til verdien av den ytre bryteren.

Vurder følgende eksempel:

#inkludere

i hovedsak() {
intgjeld= 5;
intaccess_code= 2028;
bytte om (gjeld) {
sak 1:
bytte om (tilgangskode) {
sak2021:
printf ('[+] Gyldig tilgangskode!');
gå i stykker;
misligholde:
printf ('[-] Ugyldig tilgangskode!');
}
gå i stykker;
misligholde:
printf ('[-] Bare avdeling 1 er tillatt!');
}
retur 0;
}

I eksemplet ovenfor implementerer vi to switch -setninger. Den første kontrollen om avgitt avdeling er 1. Hvis det er sant, fortsetter den til neste bryterblokk og sjekker om den gyldige tilgangskoden.

Hvis avd. -Verdien ikke er en, flyttes utførelsen til standardblokken.

Følgende er utførelsen av koden ovenfor med riktig og feil avdeling og tilgangskode.

I det første eksemplet er både avdeling og tilgangskode riktige; dermed når utførelsen aldri standardblokkene.

I det andre eksemplet er både avdelingen og tilgangskoden feil; Derfor hopper kjøringen umiddelbart til den første standardblokken.

Retningslinjer for bytteerklæringer

Følgende er raske retningslinjer verdt å merke seg når du oppretter bryteruttalelser i C.

  1. Du må sende et uttrykk til bytteordet.
  2. Saksuttalelser må se etter unike verdier
  3. Avslutt hver saksblokk med søkeordet pause.
  4. Du kan hekke flere switch -setninger.
  5. Du kan inkludere en standarderklæring når en handling er nødvendig for saker som ikke samsvarer.

Konklusjon

Denne guiden har ledet deg gjennom det grunnleggende for å lage og bruke C -switch -setninger. Bytteerklæringer er nyttige når du har komplekse avgjørelsessaker som kan være vanskelige å implementere med og hvis ellers -uttalelsen.