tukar ... kes dalam Pengaturcaraan C

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… iftangga. Walau bagaimanapun, sintaks switchpenyataan 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 hingga breakditemui.
  • Sekiranya tidak ada padanan, pernyataan lalai akan dilaksanakan.

Sekiranya kita tidak menggunakannya break, semua pernyataan setelah label yang sesuai dijalankan.

By the way, defaultklausa di dalam switchpernyataan 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 switchpenyataan.

Artikel menarik...