Dalam tutorial ini, anda akan belajar membuat pernyataan peralihan dalam pengaturcaraan C dengan bantuan contoh.
Pernyataan pertukaran membolehkan kita melaksanakan satu blok kod di antara banyak alternatif.
Anda boleh melakukan perkara yang sama dengan if… else… if
tangga. Walau bagaimanapun, sintaks switch
penyataan lebih senang dibaca dan ditulis.
Sintaks suis… kes
switch (expression) ( case constant1: // statements break; case constant2: // statements break;… default: // default statements )
Bagaimana pernyataan suis berfungsi?
Ungkapan dinilai sekali dan dibandingkan dengan nilai setiap label kes.
- Sekiranya terdapat padanan, pernyataan yang sesuai setelah label yang sesuai dijalankan. Sebagai contoh, jika nilai ungkapan sama dengan pemalar2, pernyataan selepas
case constant2:
dijalankan hinggabreak
ditemui. - Sekiranya tidak ada padanan, pernyataan lalai akan dilaksanakan.
Sekiranya kita tidak menggunakannya break
, semua pernyataan setelah label yang sesuai dijalankan.
By the way, default
klausa di dalam switch
pernyataan adalah pilihan.
tukar Carta Aliran Penyataan
Contoh: Kalkulator Ringkas
// 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; )
Pengeluaran
Masukkan operator (+, -, *,): - Masukkan dua operasi: 32.5 12.4 32.5 - 12.4 = 20.1
- Operator yang dimasukkan oleh pengguna disimpan dalam pemboleh ubah operator. Dan, dua operan 32.5 dan 12.4 disimpan dalam pemboleh ubah n1 dan n2 masing-masing.
Oleh kerana pengendali -
, kawalan program melonjak ke
printf ("%. 1lf -% .1lf =% .1lf", n1, n2, n1-n2);
Akhirnya, pernyataan putus menamatkan switch
penyataan.