[C]. Switch Case

Switch Case là một cấu trúc rẽ nhánh giúp kiểm tra nhiều điều kiện và thực hiện các hành động khác nhau dựa trên giá trị của một biến.

Cú pháp:

switch (value) {
  case c1:
    //code
    break;
  case c2:
    //code
    break;
  ...
  case cn:
    //code
    break;
  default:
    //code
}

Switch Case sẽ so sánh giá trị của biến value với các giá trị của các biến c1, c2, …, cn. Nếu giá trị của value bằng với giá trị của một trong các biến c1, c2, …, cn, thì các câu lệnh bên trong case tương ứng sẽ được thực hiện. Nếu không, các câu lệnh bên trong default sẽ được thực hiện.

Chú ý: Mỗi câu lệnh trong mỗi case phải kết thúc bằng từ khóa break. Nếu không có từ khóa break, việc thực hiện sẽ tiếp tục sang các case khác mà không kiểm tra điều kiện.

Ví dụ:

Ví dụ 1:

#include "stdio.h"
int main(){
  int n = 3;
  switch(n){
    case 1: 
      printf("MỘTn");
      break;
    case 2: 
      printf("HAIn");
      break;
    case 3: 
      printf("BAn");
      break;
    case 4: 
      printf("BỐNn");
      break;
    default: 
      printf("DEFAULTn");
  }
}

Output:

BA

Ví dụ 2:

#include "stdio.h"
int main(){
  int n = 2;
  switch(n){
    case 1: 
      printf("MỘTn");
    case 2: 
      printf("HAIn");
    case 3: 
      printf("BAn");
    case 4: 
      printf("BỐNn");
    default: 
      printf("DEFAULTn");
  }
}

Output:

HAI
BA
BỐN
DEFAULT

Ví dụ 3:

#include "stdio.h"
int main(){
  int a = 20, b = 5;
  char op;
  scanf("%c", &op);
  switch(op){
    case '+': 
      printf("%dn", a + b);
      break;
    case '-': 
      printf("%dn", a - b);
      break;
    case '*': 
      printf("%dn", a * b);
      break;
    case '/': 
      printf("%dn", a / b);
      break;
    default: 
      printf("ĐẦU VÀO KHÔNG HỢP LỆ");
  }
}

Ví dụ 4:

#include "stdio.h"
int main(){
  int m, y;
  printf("Nhập tháng, năm: ");
  scanf("%d%d", &m, &y);
  switch(m){
    case 1:
    case 3:
    case 5:
    case 7:
    case 8:
    case 10:
    case 12: 
      printf("31n");
      break;
    case 4:
    case 6:
    case 9:
    case 11: 
      printf("30n");
      break;
    case 2: 
      if((y % 400 == 0) && (y % 4 == 0 && y % 100 != 0)){
        printf("29n");
      } else{
        printf("28n");
      }
      break;
    default: 
      printf("Dữ liệu không hợp lệ!n");
  }
}

Xem thêm bài giảng về Switch Case trong C tại đây

FEATURED TOPIC