Dalam tutorial ini, Anda akan belajar membuat pernyataan sakelar dalam pemrograman C dengan bantuan sebuah contoh.
Pernyataan switch memungkinkan kita untuk mengeksekusi satu blok kode di antara banyak alternatif.
Anda bisa melakukan hal yang sama dengan if… else… if
tangga. Namun, sintaks switch
pernyataan jauh lebih mudah untuk dibaca dan ditulis.
Sintaks sakelar… case
switch (expression) ( case constant1: // statements break; case constant2: // statements break;… default: // default statements )
Bagaimana cara kerja pernyataan sakelar?
Ekspresi dievaluasi sekali dan dibandingkan dengan nilai dari setiap label huruf.
- Jika ada yang cocok, pernyataan yang sesuai setelah label yang cocok dijalankan. Misalnya, jika nilai ekspresi sama dengan konstanta2, pernyataan setelah
case constant2:
dieksekusi hinggabreak
ditemukan. - Jika tidak ada kecocokan, pernyataan default dijalankan.
Jika kita tidak menggunakan break
, semua pernyataan setelah label yang cocok dijalankan.
Omong-omong, default
klausa di dalam switch
pernyataan itu opsional.
switch Statement Flowchart
Contoh: Kalkulator Sederhana
// Program to create a simple calculator #include int main() ( char operator; double n1, n2; printf("Enter an operator (+, -, *, /): "); scanf("%c", &operator); printf("Enter two operands: "); scanf("%lf %lf",&n1, &n2); switch(operator) ( case '+': printf("%.1lf + %.1lf = %.1lf",n1, n2, n1+n2); break; case '-': printf("%.1lf - %.1lf = %.1lf",n1, n2, n1-n2); break; case '*': printf("%.1lf * %.1lf = %.1lf",n1, n2, n1*n2); break; case '/': printf("%.1lf / %.1lf = %.1lf",n1, n2, n1/n2); break; // operator doesn't match any case constant +, -, *, / default: printf("Error! operator is not correct"); ) return 0; )
Keluaran
Masukkan operator (+, -, *,): - Masukkan dua operan: 32,5 12,4 32,5 - 12,4 = 20,1
Operator - yang dimasukkan oleh pengguna disimpan dalam variabel operator. Dan, dua operan 32.5 dan 12.4 masing-masing disimpan dalam variabel n1 dan n2.
Sejak operator -
, kontrol program melompat ke
printf ("%. 1lf -% .1lf =% .1lf", n1, n2, n1-n2);
Akhirnya, pernyataan break mengakhiri switch
pernyataan tersebut.