Table of contents
Open Table of contents
1. Vòng lặp While (While Loop)
Vòng lặp while sẽ lặp lại một khối mã chừng nào một điều kiện được chỉ định vẫn còn là true.
Cú pháp:
while (điều_kiện) {
// Khối mã được thực thi
}
Ví dụ in số từ 0 đến 4:
int i = 0;
while (i < 5) {
cout << i << "\n";
i++; // Đừng quên tăng biến đếm, nếu không vòng lặp sẽ vô tận!
}
2. Vòng lặp Do…While
do/while là một biến thể của while. Điểm khác biệt lớn nhất là nó sẽ thực thi khối mã ít nhất một lần trước khi kiểm tra điều kiện.
Cú pháp:
do {
// Khối mã được thực thi
} while (điều_kiện);
Ví dụ:
Dù biến i bắt đầu bằng 10 (lớn hơn 5), chương trình vẫn sẽ in ra i một lần trước khi dừng lại.
int i = 10;
do {
cout << i << "\n";
i++;
} while (i < 5);
3. Vòng lặp For (For Loop)
Khi bạn biết chính xác số lần muốn lặp, hãy sử dụng vòng lặp for. Đây là loại vòng lặp phổ biến nhất trong lập trình.
Cú pháp:
for (biểu_thức_1; biểu_thức_2; biểu_thức_3) {
// Khối mã được thực thi
}
- Biểu thức 1: Được thực thi một lần duy nhất trước khi vòng lặp bắt đầu (thường dùng để khai báo biến đếm).
- Biểu thức 2: Điều kiện để vòng lặp tiếp tục chạy.
- Biểu thức 3: Được thực thi sau mỗi lần khối mã trong vòng lặp chạy xong (thường dùng để tăng biến đếm).
Ví dụ in số chẵn:
for (int i = 0; i <= 10; i = i + 2) {
cout << i << "\n";
}
4. Vòng lặp For-Each (C++ 11 trở lên)
Dùng để duyệt qua tất cả các phần tử trong một mảng (hoặc các tập hợp khác) một cách đơn giản và an toàn hơn.
int myNumbers[5] = {10, 20, 30, 40, 50};
for (int i : myNumbers) {
cout << i << "\n";
}
5. Ngắt và Tiếp tục (Break and Continue)
break: Dùng để thoát hẳn khỏi vòng lặp ngay lập tức.continue: Bỏ qua lần lặp hiện tại và nhảy sang lần lặp tiếp theo.
for (int i = 0; i < 10; i++) {
if (i == 4) { break; } // Dừng hẳn khi i = 4
if (i == 2) { continue; } // Bỏ qua số 2, tiếp tục in số 3
cout << i << "\n";
}
6. Mảng (Arrays)
Mảng được dùng để lưu trữ nhiều giá trị trong một biến duy nhất thay vì phải khai báo các biến riêng lẻ cho từng giá trị.
Khai báo và khởi tạo mảng:
Để khai báo mảng, bạn cần xác định kiểu dữ liệu, tên mảng và số lượng phần tử trong ngoặc vuông [].
string cars[4] = {"Volvo", "BMW", "Ford", "Mazda"};
int myNum[3] = {10, 20, 30};
Truy cập và thay đổi phần tử:
Bạn truy cập vào phần tử của mảng thông qua chỉ số (index).
Lưu ý cực kỳ quan trọng: Chỉ số mảng bắt đầu từ 0. Phần tử đầu tiên là [0], phần tử thứ hai là [1],…
string cars[4] = {"Volvo", "BMW", "Ford", "Mazda"};
cout << cars[0]; // Kết quả: Volvo
cars[0] = "Opel"; // Thay đổi phần tử đầu tiên
cout << cars[0]; // Kết quả: Opel
Duyệt qua mảng bằng vòng lặp:
string cars[4] = {"Volvo", "BMW", "Ford", "Mazda"};
for (int i = 0; i < 4; i++) {
cout << cars[i] << "\n";
}
Lời kết Module 4
Sự kết hợp giữa Vòng lặp và Mảng tạo nên sức mạnh xử lý dữ liệu hàng loạt cho chương trình. Hãy thử viết một chương trình nhỏ tính tổng các số trong một mảng để ôn tập nhé.
Trong Module 5, chúng ta sẽ tiến tới những cấu trúc dữ liệu phức tạp hơn: Structures, Enums và đặc biệt là Con trỏ (Pointers) - một trong những khái niệm “khó nhằn” nhưng quyền năng nhất của C++.
Hẹn gặp lại các bạn!