Switch

Cú pháp:

switch (expression) {
  case x:
    // khối mã
    break;
  case y:
    // khối mã
    break;
  case z:
    // khối mã
    break;
}
  1. expression: biểu thức sẽ được đánh giá
  2. x, y, z: giá trị của mỗi trường hợp case sẽ so sánh với giá trị của expression
  3. break: ngừng kiểm tra các case kế tiếp nếu case ở 2 là đúng  

Đây là cách hoạt động của switch:

  • expression được đánh giá một lần
  • Giá trị của expression được so sánh với giá trị (x, y, z) của mỗi trường hợp case
  • Nếu có sự trùng khớp, khối mã tương ứng sẽ được thực thi
  • Nếu có break sẽ dừng việc kiểm tra các case và các khối mã kế tiếp

Ví dụ 1:

#include <iostream>
using namespace std;

int main() {
  int day = 4;
  switch (day) {
   case 1:
    cout << Thu hai";
    break;
   case 2:
    cout << "Thu ba";
    break;
   case 3:
    cout << "Thu tu";
    break;
   case 4:
    cout << "Thu nam";
    break;
   case 5:
    cout << "Thu sau";
    break;
   case 6:
    cout << "Thu bay";
    break;
   case 7:
    cout << "Chu nhat";
    break;
 }
 return 0;
}
  • Kết quả sẽ trả về "Thu nam"
  • expression ở ví dụ này là day
  • Có 7 case để so sánh với expression, giá trị của các case tương ứng từ 1 đến 7

default

Từ khóa default chỉ định một khối mã để chạy nếu không có giá trị của case nào bằng với giá trị của expression.

Cú pháp:

switch (expression) {
  case x:
    // khối mã
    break;
  case y:
    // khối mã
    break;
  case z:
    // khối mã
    break;
  default:
    // khối mã
}

Ví dụ 2:

#include <iostream>
using namespace std;

int main() {
  int day = 7;
  switch (day) {
  case 3:
    cout << "Co le hom nay la: ";
    cout << "Thu tu";
    break;
  case 4:
    cout << "Co le hom nay la: ";
    cout << "Thu nam";
    break;
  case 5:
    cout << "Co le hom nay la: ";
    cout << "Thu sau";
    break;
  default:
    cout << "Co le hom nay la ";
    cout << "cuoi tuan roi";
    break;
 }
 return 0;
}

Kết quả "Co le hom nay la cuoi tuan roi".

Gợi ý: các em hãy so sánh "if ... else if" với "switch ... case" và "if ... else if ... else" với "switch ... case ... default