A kapcsoló utasítás használatával több feltételt is tesztelhet, és csak akkor hajthat végre egy adott blokkot, ha a feltétel igaz. Habár hasonlóan működik, mint az if… más, ha… .else utasítás, a szintaxis egyszerűbb és könnyebben olvasható és kezelhető.
Ez az oktatóanyag arra összpontosít, hogy megmutassa, hogyan hozhat létre és hogyan dolgozhat a kapcsoló utasításokkal a C programozásban.
Alapvető használat
A kapcsoló utasítás könnyen megvalósítható. Az általános szintaxis a következő:
kapcsoló (kifejezés) {
casevar1:
// kód
szünet;
casevar2:
//kód
szünet;
casevar3:
// kód
szünet;
casevarN:
// kód
szünet;
...
….
….
alapértelmezett:
//kód
}
Hogyan működik
A kapcsoló utasítás egyszerű logikát valósít meg az egyes esetblokkok kiértékeléséhez.
A kapcsolóblokkon belüli kifejezés kiértékelésével kezdődik. Ezután összehasonlítja a kapcsolóblokk értékét az egyes esetblokkokkal.
Miután megtalálta az egyezést az egyik meghatározott esetblokkon belül, addig végrehajtja a blokkon belüli kódot, amíg meg nem találja a break kulcsszót.
Ha a megadott esetblokkok egyikében sem talál egyezést, akkor az alapértelmezett utasításra ugrik, és végrehajtja a benne lévő kódot. Az alapértelmezett blokk opcionális és kihagyható, ha a nem megfelelő forgatókönyv esetén nincs kötelező művelet
JEGYZET: Jó gondoskodni arról, hogy minden eset utasítás szünet utasítással fejeződjön be, hogy megakadályozzuk az egyezési blokk utáni összes utasítás végrehajtását.
C Példa a kis- és nagybetűkre
Illusztráljuk a kapcsoló állítást egy nagyon egyszerű példával:
#befoglalniintmain() {
intahol= 5;
kapcsoló (ahol) {
eset3:
printf ('Az érték 3');
szünet;
eset4:
printf ('Az érték 4');
szünet;
eset5:
printf ('Az érték 5');
szünet;
alapértelmezett:
printf ('Az érték nem 3, 4 és 5');
}
visszatérés0;
}
Ha futtatjuk a fenti példát, akkor az alábbihoz hasonló kimenetet kell kapnunk:
Az érték az5Az alábbi folyamatábra szemlélteti a fenti program logikáját:
Beágyazott kapcsoló nyilatkozat
A C lehetővé teszi, hogy beágyazott kapcsoló utasítások legyenek a kapcsoló utasításban. A beágyazott kapcsoló utasítás a külső kapcsoló értékéhez kapcsolódik.
Tekintsük a következő példát:
#befoglalniintmain() {
intadósság= 5;
intaccess_code= 2028;
kapcsoló (adósság) {
eset1:
kapcsoló (hozzáférési kód) {
eset 2021:
printf ('[+] Érvényes hozzáférési kód!');
szünet;
alapértelmezett:
printf ('[-] Érvénytelen hozzáférési kód!');
}
szünet;
alapértelmezett:
printf ('[-] Csak az 1. osztály engedélyezett!');
}
visszatérés0;
}
A fenti példában két kapcsoló állítást valósítunk meg. Az első ellenőrzi, hogy a megadott rész 1. -e. Ha igaz, akkor továbblép a következő kapcsolóblokkhoz, és ellenőrzi az érvényes hozzáférési kódot.
Ha a dept érték nem egy, akkor a végrehajtás az alapértelmezett blokkra kerül.
Az alábbiakban bemutatjuk a fenti kód végrehajtását helyes és helytelen részlettel és hozzáférési kóddal.
Az első példában mind a részleg, mind a hozzáférési kód helyes; így a végrehajtás soha nem éri el az alapértelmezett blokkokat.
A második példában mind a részleg, mind a hozzáférési kód helytelen; ezért a végrehajtás azonnal az első alapértelmezett blokkra ugrik.
Útmutató a kapcsoló állításokhoz
Az alábbiakban gyors útmutatásokat érdemes megjegyezni, amikor kapcsoló állításokat készít C -ben.
- Egy kifejezést át kell adnia a switch kulcsszónak.
- Az esetjelentésekben ellenőrizni kell az egyedi értékeket
- A break kulcsszó használatával fejezze be az egyes esetblokkokat.
- Több kapcsoló utasítást is beágyazhat.
- Akkor adhat meg alapértelmezett utasítást, ha nem egyező esetekben szükség van egy műveletre.
Következtetés
Ez az útmutató végigvezette Önt a C kapcsoló állítások létrehozásának és használatának alapjain. A kapcsoló utasítások akkor hasznosak, ha bonyolult döntési esetei vannak, amelyeket nehéz végrehajtani az és ha más utasítással.