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 < y là 0 (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 khiconditionlà đúngexpressionFalse: mã được thực thi khiconditionlà 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