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