1. Mục tiêu
Trong thực tế, chương trình cần tự đưa ra quyết định tùy vào dữ liệu đầu vào. Câu lệnh điều kiện là công cụ để thực hiện điều đó.
Ví dụ: nếu người dùng nhập đúng mật khẩu thì đăng nhập, sai thì từ chối.
2. Câu lệnh if
Cú pháp:
if (điều_kiện) {
// mã được thực thi nếu điều_kiện là true
}
Ví dụ:
int x = 10;
if (x > 0) {
cout << "x la so duong";
}
Ghi chú:
điều_kiện
phải là biểu thức logic (trả về true/false).- Có thể viết không dùng
{}
nếu chỉ có 1 dòng:
if (x > 0) cout << "Duong";
Nhưng nên luôn dùng {}
để dễ đọc và tránh lỗi.
3. if - else
: hai nhánh rẽ
Ví dụ:
int diem = 7;
if (diem >= 5) {
cout << "Dat";
} else {
cout << "Truot";
}
- Nếu điều kiện đúng → chạy nhánh
if
- Nếu sai → chạy nhánh
else
4. if - else if - else
: nhiều nhánh điều kiện
Ví dụ:
int diem = 8;
if (diem < 5) {
cout << "Yeu";
} else if (diem < 7) {
cout << "Trung binh";
} else if (diem < 9) {
cout << "Kha";
} else {
cout << "Gioi";
}
- Các điều kiện sẽ được kiểm tra từ trên xuống
- Chỉ thực hiện khối đầu tiên có điều kiện đúng
5. Lồng nhiều if
(Nested if)
Dùng khi cần kiểm tra nhiều lớp điều kiện:
int tuoi = 20;
bool coCMND = true;
if (tuoi >= 18) {
if (coCMND) {
cout << "Du dieu kien dang ky";
} else {
cout << "Can co CMND";
}
} else {
cout << "Chua du tuoi";
}
6. Toán tử ba ngôi ? :
Cú pháp viết gọn của if-else
khi chỉ có 1 dòng:
(bieu_thuc) ? gia_tri1 : gia_tri2;
Ví dụ:
int a = 5, b = 10;
int max = (a > b) ? a : b;
Đọc là: nếu
a > b
đúng thì gána
, ngược lại gánb
.
7. Câu lệnh switch
Dùng khi có nhiều nhánh dựa trên một giá trị duy nhất (thường là số nguyên hoặc ký tự).
Cú pháp:
switch (bien) {
case gia_tri1:
// mã
break;
case gia_tri2:
// mã
break;
default:
// khi không khớp cái nào
}
Ví dụ:
int luaChon;
cin >> luaChon;
switch (luaChon) {
case 1:
cout << "Them";
break;
case 2:
cout << "Xoa";
break;
case 3:
cout << "Sua";
break;
default:
cout << "Khong hop le";
}
Ghi chú:
break
là bắt buộc để tránh rơi vào các case sau.default
là tuỳ chọn, nhưng nên dùng để xử lý trường hợp còn lại.
8. So sánh if
và switch
Tiêu chí | if - else | switch |
---|---|---|
Kiểu điều kiện | mọi biểu thức logic | so sánh một biến với giá trị cụ thể |
Kiểu dữ liệu hỗ trợ | nhiều (int, float, string, bool…) | chỉ int, char, enum |
Tính mở rộng | linh hoạt | giới hạn, nhưng gọn hơn trong vài trường hợp |
9. Bài tập thực hành
Bài 1: Xếp loại học lực
Viết chương trình nhập điểm từ bàn phím và in ra xếp loại:
- < 5: Yếu
- 5 → 6.4: Trung bình
- 6.5 → 7.9: Khá
- 8 → 10: Giỏi
Bài 2: Tính tiền điện
Tùy theo số kWh:
- < 50 → giá 1000 đ/kWh
- 50–100 → giá 1200 đ/kWh
- 100 → giá 1500 đ/kWh
Bài 3: Tháng → Mùa
Nhập số tháng (1–12), in ra mùa tương ứng:
- 3–5: Xuân
- 6–8: Hạ
- 9–11: Thu
- 12, 1, 2: Đông
10. Tổng kết
- Câu lệnh điều kiện là công cụ ra quyết định trong chương trình
- Dùng
if
,else
,else if
để xử lý các logic phức tạp - Dùng
switch
cho các lựa chọn đơn giản theo giá trị cụ thể - Toán tử 3 ngôi giúp viết gọn điều kiện đơn giản
Bài tiếp theo: Vòng lặp trong C++ – giúp chương trình thực hiện hành động lặp lại có điều kiện.
Bạn muốn tạo prompt ảnh cho bài này không? Hay viết luôn bài 6?
Sign up