-
- Tổng tiền thanh toán:
Khi mua hàng tại website của chúng tôi, quý khách sẽ được:
Switch so sánh một biểu thức nguyên với một danh sách giá trị các số nguyên, các hằng kí tự hoặc biểu thức hằng. Mỗi giá trị trong danh sách chính là một case (trường hợp) trong khối lệnh của switch. Ngoài ra, trong khối lệnh switch còn có thể có một default case (trường hợp mặc định) có thể có hoặc không. Mặt khác, trong mỗi trường hợp còn chứa các khối lệnh chờ được thực thi.
Cú pháp của cấu trúc rẽ nhánh switch…case
Muốn sử dụng cấu trúc switch…case, bạn dùng cú pháp như sau:
switch(expression){ case value1: //code to be executed; break; //optional case value2: //code to be executed; break; //optional ...... default: code to be executed if all cases are not matched; }
Các qui tắc của lệnh switch tronng ngôn ngữ C
Biểu thức nguyên trong switch được tính toán và kiểm tra lần lượt với giá trị của từng case. Đầu tiên, nó sẽ được so sánh với giá trị của case đầu tiên, nếu bằng nhau thì sẽ thực hiện các lệnh (statement) trong case này cho đến khi nó gặp được từ khoá break. Khi đó, cấu trúc switch…case kết thúc. Chương trình sẽ thực hiện tiếp những dòng lệnh sau cấu trúc switch…case. Ngược lại, nếu như giá trị biểu thức nguyên không bằng giá trị case đầu tiên thì nó sẽ tiếp tục so sánh đến giá trị của case thứ hai và tiếp tục thực hiện như những bước trên. Giả sử, đến cuối cùng vẫn không tìm được giá trị bằng nó thì các khối lệnh trong default sẽ được thực hiện nếu như có tồn tại default.
Xem ví dụ sau: Kiểu dữ liệu nào hợp lệ trong lệnh switch:
int x,y,z; char a,b; float f;
Lệnh Switch đúng | Lệnh Switch sai | Lệnh Switch đúng | Lệnh Switch sai |
---|---|---|---|
switch(x) | switch(f) | case 3; | case 2.5; |
switch(x>y) | switch(x+2.5) | case 'a'; | case x; |
switch(a+b-2) | case 1+2; | case x+2; | |
switch(func(x,y)) | case 'x'>'y'; | case 1,2,3; |
Sơ đồ hoạt động của cấu trúc switch…case như sau:
Ví dụ lệnh switch :
#include <stdio.h> int main() { int a=0; printf("Nhap so a: "); scanf("%d",&a); switch(a) { case 10: printf("So nhap bang 10"); break; case 50: printf("So nhap bang 50"); break; case 100: printf("So nhap bang 100"); break; default: printf("So nhap khong ban 10, 50, 100"); } return 0; }