Luồng điều khiển trong C++: Rẽ nhánh và vòng lặp
Ra quyết định với if/else và switch, lặp lại công việc với while, do-while và for trong C++.
Bài thứ ba trong loạt C++ cơ bản. Chương trình thường chạy từ trên xuống, nhưng chương trình thực tế cần quyết định và lặp lại.
If và else#
int score = 85;
if (score >= 90) {
std::cout << "Grade: A\n";
} else if (score >= 70) {
std::cout << "Grade: B\n";
} else {
std::cout << "Grade: C\n";
}cppĐiều kiện phải là biểu thức boolean. Dùng && cho AND, || cho OR và ! cho NOT. Luôn đặt thân lệnh trong ngoặc nhọn — tránh lỗi khi thêm dòng sau này.
Switch#
Với nhiều giá trị rời rạc, switch rõ ràng hơn chuỗi else if:
switch (day) {
case 1:
std::cout << "Monday\n";
break;
case 2:
std::cout << "Tuesday\n";
break;
default:
std::cout << "Weekend\n";
break;
}cppbreak ngăn chảy xuống. Quên nó là lỗi C++ kinh điển.
While và do-while#
int n = 3;
while (n > 0) {
std::cout << n << " ";
--n;
}
// in ra: 3 2 1cppwhile kiểm tra trước khi chạy. do-while chạy ít nhất một lần:
int n;
do {
std::cout << "Enter a positive number: ";
std::cin >> n;
} while (n <= 0);cppVòng lặp for#
for gộp khởi tạo, điều kiện và bước nhảy:
for (int i = 0; i < 5; ++i) {
std::cout << i << " ";
}
// in ra: 0 1 2 3 4cppVòng lặp dựa trên dãy#
Duyệt container đơn giản nhất là vòng lặp dựa trên dãy:
std::vector<int> v{10, 20, 30};
for (int x : v) {
std::cout << x << " ";
}cppbreak và continue#
breakthoát vòng lặp ngay lập tức.continuebỏ qua phần còn lại của vòng hiện tại và sang vòng tiếp theo.
for (int i = 0; i < 10; ++i) {
if (i % 2 == 0) continue; // bỏ qua số chẵn
if (i > 7) break; // dừng ở 9
std::cout << i << " ";
}
// in ra: 1 3 5 7cppKết luận#
Rẽ nhánh chọn đường đi; vòng lặp lặp lại công việc. Kết hợp chúng biến code tuyến tính thành logic thực sự. Bài tiếp theo trong loạt: hàm.