C Lumipat ng Mga Pahayag ng Kaso

C Switch Case Statements



Ang isang switch statement — o simpleng isang case statement — ay isang control flow mekanismo na tumutukoy sa pagpapatupad ng isang programa batay sa halaga ng isang variable o isang expression.

Ang paggamit ng isang switch statement ay nagbibigay-daan sa iyo upang subukan ang maraming mga kundisyon at magpatupad lamang ng isang tukoy na bloke kung ang kondisyon ay totoo. Bagaman gumagana ito nang katulad sa isang kung… kung iba pa kung… .else na pahayag, ang syntax ay mas simple at mas madaling basahin at pamahalaan.







Ang tutorial na ito ay nakatuon sa pagpapakita sa iyo kung paano lumikha at gumana sa mga switch statement sa C program.



Pangunahing Paggamit

Madaling ipatupad ang switch statement. Ang pangkalahatang syntax ay tulad ng ipinakita sa ibaba:



lumipat (expr) {
casevar1:
// code
pahinga;
casevar2:
// code
pahinga;
casevar3:
// code
pahinga;
casevarN:
// code
pahinga;
...
....
....
default:
// code
}

Paano Ito Gumagana

Nagpapatupad ang pahayag ng switch ng isang simpleng lohika upang suriin ang bawat mga block ng kaso.





Nagsisimula ito sa pamamagitan ng pagsusuri ng ekspresyon sa loob ng switch ng switch. Pagkatapos, ihinahambing ang halaga mula sa switch ng switch laban sa bawat case block.

Kapag nahahanap nito ang isang tugma sa loob ng isa sa tinukoy na mga bloke ng kaso, isinasagawa nito ang code sa loob ng bloke na iyon hanggang sa makasalubong nito ang putol na keyword.



Kung hindi ito nakatagpo ng isang tugma sa alinman sa tinukoy na mga bloke ng kaso, tumatalon ito sa default na pahayag at isinasagawa ang code sa loob nito. Ang default na bloke ay opsyonal at maaaring alisin kung walang kinakailangang aksyon para sa isang hindi pagtutugma na senaryo

TANDAAN: Mahusay na matiyak na ang bawat pahayag ng kaso ay nagtatapos sa isang pahayag ng pahinga upang maiwasan ang lahat ng mga pahayag pagkatapos ng tumutugma na bloke mula sa pagpapatupad.

C Halimbawa ng Paglalahad ng Kaso Halimbawa

Iilarawan natin ang pahayag ng switch sa isang napakasimpleng halimbawa:

# isama

intmain() {
intkung saan= 5;
lumipat (kung saan) {
kaso3:
printf ('Ang halaga ay 3');
pahinga;
kaso4:
printf ('Ang halaga ay 4');
pahinga;
kaso5:
printf ('Ang halaga ay 5');
pahinga;
default:
printf ('Ang halaga ay alinman sa 3, 4 o 5');
}
pagbabalik0;
}

Kung tatakbo namin ang halimbawa sa itaas, dapat kaming makakuha ng isang output na katulad ng sa ibaba:

Ang halaga ay5

Ang sumusunod na daloy ng daloy ay naglalarawan ng lohika ng nasa itaas na programa:

Isang Pahayag ng Lumipat sa Pugad

Pinapayagan ka ng C na magkaroon ng pugad na mga pahayag ng switch sa loob ng isang switch statement. Ang naka-salubong na pahayag ng switch ay nakatali sa halaga ng panlabas na switch.

Isaalang-alang ang sumusunod na halimbawa:

# isama

intmain() {
intDept= 5;
intaccess_code= 2028;
lumipat (Dept) {
kaso1:
lumipat (access_code) {
kaso2021:
printf ('[+] Wastong access code!');
pahinga;
default:
printf ('[-] Di-wastong access code!');
}
pahinga;
default:
printf ('[-] Ang Kagawaran 1 lamang ang pinapayagan!');
}
pagbabalik0;
}

Sa halimbawa sa itaas, nagpapatupad kami ng dalawang mga pahayag ng paglipat. Ang mga unang tseke kung ang ibinigay na dept ay 1. Kung totoo, nagpapatuloy ito sa susunod na switch block at suriin para sa wastong access code.

Kung ang halaga ng dept ay hindi iisa, ang pagpapatupad ay lumilipat sa default na bloke.

Ang sumusunod ay ang pagpapatupad ng code sa itaas na may tama at hindi tamang dept at access code.

Sa unang halimbawa, ang parehong dept at access code ay tama; sa gayon, ang pagpapatupad ay hindi kailanman umabot sa mga default na bloke.

Sa pangalawang halimbawa, ang parehong dept at access code ay hindi tama; samakatuwid, ang pagpapatupad ay agad na tumalon sa unang default block.

Mga Alituntunin para sa Mga Pahayag ng Paglipat

Ang mga sumusunod ay mabilis na alituntunin na nagkakahalaga ng pagpuna kapag lumilikha ng mga pahayag ng switch sa C.

  1. Dapat kang magpasa ng isang expression sa switch keyword.
  2. Dapat suriin ng mga pahayag ng kaso ang mga natatanging halaga
  3. Tapusin ang bawat pag-block ng kaso gamit ang break keyword.
  4. Maaari mong pugad ang maraming mga pahayag ng paglipat.
  5. Maaari kang magsama ng isang default na pahayag kapag kinakailangan ang isang aksyon para sa mga hindi tumutugma na mga kaso.

Konklusyon

Ang gabay na ito ay naglakad sa iyo sa mga pangunahing kaalaman sa paglikha at paggamit ng mga pahayag ng C switch. Kapaki-pakinabang ang mga switch statement kapag mayroon kang mga kumplikadong kaso ng pagpapasya na maaaring mahirap ipatupad sa at kung may pahayag pa.