C Beralih Pernyataan Kasus

C Switch Case Statements



Pernyataan switch—atau hanya pernyataan kasus—adalah mekanisme aliran kontrol yang menentukan eksekusi program berdasarkan nilai variabel atau ekspresi.

Menggunakan pernyataan switch memungkinkan Anda untuk menguji beberapa kondisi dan hanya mengeksekusi blok tertentu jika kondisinya benar. Meskipun cara kerjanya mirip dengan pernyataan if…else if…else, sintaksnya lebih sederhana dan lebih mudah dibaca dan dikelola.







Tutorial ini berfokus untuk menunjukkan kepada Anda cara membuat dan bekerja dengan pernyataan switch dalam pemrograman C.



Penggunaan Dasar

Pernyataan switch mudah diimplementasikan. Sintaks umumnya seperti yang ditunjukkan di bawah ini:



mengalihkan (expr) {
casevar1:
// kode
merusak;
casevar2:
//kode
merusak;
casevar3:
// kode
merusak;
casevarN:
// kode
merusak;
...
….
….
bawaan:
//kode
}

Bagaimana itu bekerja

Pernyataan switch mengimplementasikan logika sederhana untuk mengevaluasi setiap blok kasus.





Ini dimulai dengan mengevaluasi ekspresi di dalam blok switch. Kemudian, membandingkan nilai dari blok switch terhadap setiap blok kasus.

Setelah menemukan kecocokan di dalam salah satu blok kasus yang ditentukan, ia mengeksekusi kode di dalam blok itu hingga menemukan kata kunci break.



Jika tidak menemukan kecocokan di salah satu blok kasus yang ditentukan, ia melompat ke pernyataan default dan mengeksekusi kode di dalamnya. Blok default adalah opsional dan dapat dihilangkan jika tidak ada tindakan yang diperlukan untuk skenario yang tidak cocok

CATATAN: Adalah baik untuk memastikan setiap pernyataan kasus diakhiri dengan pernyataan break untuk mencegah semua pernyataan setelah blok yang cocok dieksekusi.

C Contoh Pernyataan Kasus Sakelar

Mari kita ilustrasikan pernyataan switch dengan contoh yang sangat sederhana:

#termasuk

intmain() {
ke dalamdi mana= 5;
mengalihkan (di mana) {
kasus3:
printf ('Nilainya 3');
merusak;
kasus4:
printf ('Nilainya 4');
merusak;
kasus5:
printf ('Nilainya 5');
merusak;
bawaan:
printf ('Nilainya bukan 3, 4 atau 5');
}
kembali0;
}

Jika kita menjalankan contoh di atas, kita akan mendapatkan output yang mirip dengan yang di bawah ini:

Nilainya adalah5

Diagram alir berikut menggambarkan logika program di atas:

Pernyataan Sakelar Bersarang

C memungkinkan Anda untuk memiliki pernyataan sakelar bersarang di dalam pernyataan sakelar. Pernyataan sakelar bersarang terkait dengan nilai sakelar luar.

Perhatikan contoh berikut:

#termasuk

intmain() {
ke dalamdepartemen= 5;
intaccess_code= 2028;
mengalihkan (departemen) {
kasus 1:
mengalihkan (Kode akses) {
kasus 2021:
printf ('[+] Kode akses yang valid!');
merusak;
bawaan:
printf ('[-] Kode akses salah!');
}
merusak;
bawaan:
printf ('[-] Hanya Departemen 1 yang diperbolehkan!');
}
kembali0;
}

Dalam contoh di atas, kami mengimplementasikan dua pernyataan switch. Pemeriksaan pertama apakah dept yang disediakan adalah 1. Jika benar, ia melanjutkan ke blok sakelar berikutnya dan memeriksa kode akses yang valid.

Jika nilai dept bukan satu, eksekusi pindah ke blok default.

Berikut ini adalah eksekusi kode di atas dengan dept dan kode akses yang benar dan salah.

Pada contoh pertama, baik dept maupun kode akses sudah benar; dengan demikian, eksekusi tidak pernah mencapai blok default.

Pada contoh kedua, dept dan kode akses salah; karenanya, eksekusi segera melompat ke blok default pertama.

Pedoman untuk Pernyataan Beralih

Berikut ini adalah panduan cepat yang perlu diperhatikan saat membuat pernyataan switch di C.

  1. Anda harus meneruskan ekspresi ke kata kunci switch.
  2. Pernyataan kasus harus memeriksa nilai unik
  3. Hentikan setiap blok kasus menggunakan kata kunci break.
  4. Anda dapat menyarangkan beberapa pernyataan sakelar.
  5. Anda dapat menyertakan pernyataan default saat tindakan diperlukan untuk kasus yang tidak cocok.

Kesimpulan

Panduan ini telah memandu Anda melalui dasar-dasar membuat dan menggunakan pernyataan sakelar C. Pernyataan switch berguna ketika Anda memiliki kasus keputusan kompleks yang mungkin sulit diterapkan dengan pernyataan dan if else.