C Pārslēgt gadījumus

C Switch Case Statements



Slēdža paziņojums vai vienkārši gadījuma paziņojums ir vadības plūsmas mehānisms, kas nosaka programmas izpildi, pamatojoties uz mainīgā vai izteiksmes vērtību.

Slēdža paziņojuma izmantošana ļauj pārbaudīt vairākus nosacījumus un izpildīt noteiktu bloku tikai tad, ja nosacījums ir patiess. Lai gan tas darbojas līdzīgi kā if… else if… .sez paziņojums, sintakse ir vienkāršāka un vieglāk lasāma un pārvaldāma.







Šī apmācība ir vērsta uz to, lai parādītu, kā izveidot un strādāt ar slēdzes paziņojumiem C programmēšanā.



Pamata lietošana

Slēdža paziņojumu ir viegli īstenot. Vispārējā sintakse ir parādīta zemāk:



slēdzis (izteiksme) {
casevar1:
// kods
pārtraukums;
casevar2:
// kods
pārtraukums;
casevar3:
// kods
pārtraukums;
casevarN:
// kods
pārtraukums;
...
….
….
noklusējuma:
// kods
}

Kā tas strādā

Slēdža paziņojums īsteno vienkāršu loģiku, lai novērtētu katru gadījumu bloku.





Tas sākas, novērtējot izteiksmi slēdža blokā. Pēc tam tas salīdzina slēdža bloka vērtību ar katra gadījuma bloku.

Kad tas atrod atbilstību vienā no definētajiem reģistra blokiem, tas izpilda kodu šajā blokā, līdz saskaras ar pārtraukuma atslēgvārdu.



Ja tas neatbilst atbilstībai nevienā no noteikto gadījumu blokiem, tas pāriet uz noklusējuma paziņojumu un izpilda kodu tajā. Noklusējuma bloks ir neobligāts un izlaižams, ja neatbilstošam scenārijam nav jāveic nepieciešamās darbības

PIEZĪME: Ir labi nodrošināt, ka katra gadījuma paziņojums beidzas ar pārtraukuma paziņojumu, lai novērstu visu paziņojumu izpildi pēc atbilstošā bloka.

C Satura pārslēgšanas piemērs

Ilustrēsim slēdža paziņojumu ar ļoti vienkāršu piemēru:

#iekļaut

intmain() {
intkur= 5;
slēdzis (kur) {
gadījums3:
printf ('Vērtība ir 3');
pārtraukums;
gadījums4:
printf ('Vērtība ir 4');
pārtraukums;
5. gadījums:
printf ('Vērtība ir 5');
pārtraukums;
noklusējuma:
printf ('Vērtība nav ne 3, 4, ne 5');
}
atgriešanās0;
}

Ja mēs izpildām iepriekš minēto piemēru, mums vajadzētu iegūt izvadi, kas līdzīga zemāk redzamajai:

Vērtība ir5

Šī plūsmas diagramma ilustrē iepriekš minētās programmas loģiku:

Ligzdota slēdža paziņojums

C ļauj slēdža paziņojumā ievietot ligzdas slēdzienus. Ligzdotā slēdža paziņojums ir saistīts ar ārējā slēdža vērtību.

Apsveriet šādu piemēru:

#iekļaut

intmain() {
intdziļums= 5;
intaccess_code= 2028. gads;
slēdzis (dziļums) {
1. gadījums:
slēdzis (pieejas kods) {
gadījums2021:
printf ('[+] Derīgs piekļuves kods!');
pārtraukums;
noklusējuma:
printf ('[-] Nederīgs piekļuves kods!');
}
pārtraukums;
noklusējuma:
printf ('[-] Ir atļauta tikai 1. nodaļa!');
}
atgriešanās0;
}

Iepriekš minētajā piemērā mēs ieviešam divus komutācijas paziņojumus. Pirmā pārbauda, ​​vai sniegtā nodaļa ir 1. Ja tā ir patiesa, tā pāriet uz nākamo slēdža bloku un pārbauda derīgu piekļuves kodu.

Ja dept vērtība nav viena, izpilde pāriet uz noklusējuma bloku.

Tālāk ir aprakstīts iepriekš minētais kods ar pareizu un nepareizu nodaļas un piekļuves kodu.

Pirmajā piemērā gan nodaļa, gan piekļuves kods ir pareizi; tādējādi izpilde nekad nesasniedz noklusējuma blokus.

Otrajā piemērā gan nodaļa, gan piekļuves kods ir nepareizi; līdz ar to izpilde uzreiz pāriet uz pirmo noklusējuma bloku.

Vadlīnijas slēdzu paziņojumiem

Tālāk ir sniegtas īsas vadlīnijas, kuras ir vērts ņemt vērā, veidojot slēdzu paziņojumus C.

  1. Pārslēgšanas atslēgvārdam ir jānodod izteiksme.
  2. Gadījumu paziņojumos ir jāpārbauda, ​​vai nav unikālas vērtības
  3. Pārtrauciet katra gadījuma bloku, izmantojot pārtraukuma atslēgvārdu.
  4. Varat ligzdot vairākus slēdža paziņojumus.
  5. Jūs varat iekļaut noklusējuma paziņojumu, ja darbība ir nepieciešama neatbilstošiem gadījumiem.

Secinājums

Šajā rokasgrāmatā ir sniegta informācija par C slēdža paziņojumu izveidošanas un izmantošanas pamatiem. Pārslēgšanas paziņojumi ir noderīgi, ja jums ir sarežģīti lēmumu pieņemšanas gadījumi, kurus var būt grūti īstenot ar paziņojumu un, ja citādi.