1/ if

Cú pháp câu lệnh điều kiện if:

if (condition) {
  // code sẽ được thực thi nếu condition là 1 (true)
}

Trong đó condition là biểu thức điều kiện. Một số dạng biểu thức điều kiện hay sử dụng:

  • Nhỏ hơn: x < y
  • Nhỏ hơn hoặc bằng: x <= y
  • Lớn hơn: x > y
  • Lớn hơn hoặc bằng: x >= y
  • Bằng: x == y
  • Không bằng: x != y

Biểu thức điều kiện có thể gọi ngắn gọn hơn là điều kiện.

Nhắc lại: biểu thức điều kiện luôn trả về 0 (sai, false) hoặc 1 (đúng, true).

Ví dụ 1:

#include <iostream>
using namespace std;

int main() {
  int x = 8;
  int y = 4;
  if (x > y) {
    cout << "x thi lon hon y";
  }
  if (x < y) {
    cout << "x thi nho hon y";
  }
  return 0;
}

Dòng số 8 sẽ xuất ra "x thi lon hon y", còn dòng thứ 11 sẽ không được xuất ra vì biểu thức điều kiện x < y0 (sai).

2/ else

Sử dụng câu lệnh else để chỉ định một khối mã (block code) sẽ được thực thi nếu biểu thức điều kiện là sai.

Cú pháp:

if (condition) {
  // code sẽ được thực thi nếu condition là 1 (true)
}
else {
  // code sẽ được thực thi nếu condition là 0 (false)
}

Ví dụ 2:

int gio = 20;
if (gio < 18) {
  cout << "Chuc mot ngay tot lanh";
} 
else {
  cout << "Chuc buoi toi tot lanh";
}

Kết quả sẽ xuất ra "Chuc buoi toi tot lanh" vì gio < 18 là sai.

Toán tử ternary

if ... else có thể viết ngắn gọn bằng toán tử ternary, cú pháp như sau:

(condition) ? expressionTrue : expressionFalse;
  • expressionTrue: mã được thực thi khi condition là đúng
  • expressionFalse: mã được thực thi khi condition là sai

Ví dụ 2 có thể viết lại như sau:

int gio = 20;
(gio < 18) ? cout << "Chuc mot ngay tot lanh" : cout << "Chuc buoi toi tot lanh";

 hoặc:

int gio = 20;
string chao = (gio < 18) ? "Chuc mot ngay tot lanh" : "Chuc buoi toi tot lanh";
cout << chao;

3/ else if

Sử dụng câu lệnh else if để chỉ định một điều kiện mới nếu điều kiện đầu tiên là sai.

Cú pháp:

if (condition) {
  // code sẽ được thực thi nếu condition là 1 (true)
}
else if (condition 1) {
  // code sẽ được thực thi nếu condition 1 là 1 (true)
}
else {
  // code sẽ được thực thi nếu condition và condition 1 đều là 0 (false)
}

Ví dụ 3:

#include <iostream>
using namespace std;

int main() {
  int gio = 15;
  if (gio < 12) {
    cout << "Chao buoi sang";
  }
  else if (gio < 18) {
    cout << "Chao buoi chieu";
  }
  else {
    cout << "Chao buoi toi";
  }
  return 0;
}

Kết quả trả về là "Chao buoi chieu" (dòng 10).

  • Biểu thức điều kiện ở dòng 6 là sai nên dòng 7 sẽ bị bỏ qua
  • Điều kiện ở dòng 9 là đúng, nên dòng 10 được xuất ra và dòng 13 cũng bị bỏ qua