Vòng lặp trong C++ là gì?
Vòng lặp trong C++ giúp bạn chạy một đoạn code nhiều lần mà không cần viết lặp tay. Đây là công cụ rất quan trọng khi in danh sách, tính tổng nhiều số, hoặc xử lý mảng.
Ba loại vòng lặp người mới cần nắm là for, while, và do while.
Nếu if else giúp chương trình đưa ra quyết định, thì vòng lặp trong c++ giúp chương trình lặp lại hành động.
Cú pháp cơ bản của vòng lặp for trong C++
for phù hợp khi bạn biết trước số lần lặp.
#include <iostream>
using namespace std;
int main() {
for (int i = 1; i <= 5; i++) {
cout << "Lan lap thu " << i << endl;
}
return 0;
}
Ba phần trong for gồm:
- Giá trị khởi tạo
- Điều kiện lặp
- Cập nhật sau mỗi vòng
Ví dụ, trong
for (int i = 1; i <= 5; i++):int i = 1chạy một lần lúc bắt đầui <= 5được kiểm tra trước mỗi vòngi++chạy sau khi thân vòng lặp kết thúc
for trong c++ là lựa chọn tự nhiên khi bạn cần lặp từ 1 đến 10, duyệt mảng hoặc in bảng cửu chương.
Cách dùng while và do while trong C++
while phù hợp khi bạn chưa biết trước sẽ lặp bao nhiêu lần.
int dem = 1;
while (dem <= 3) {
cout << dem << endl;
dem++;
}
do while sẽ chạy ít nhất một lần trước khi kiểm tra điều kiện.
int n = 1;
do {
cout << "Gia tri: " << n << endl;
n++;
} while (n <= 2);
Điểm khác nhau quan trọng nhất là:
whilekiểm tra điều kiện trướcdo whilechạy thân vòng lặp trước rồi mới kiểm tra điều kiện
Điều này hữu ích trong các tình huống cần nhập dữ liệu ít nhất một lần trước khi quyết định dừng.
So sánh for và while trong C++
Hãy dùng for khi:
- Biết rõ số lần lặp
- Có biến đếm tăng hoặc giảm đều
- Muốn gom khởi tạo, điều kiện và cập nhật vào một dòng
Hãy dùng
while khi:- Chưa biết số lần lặp
- Việc dừng phụ thuộc vào dữ liệu nhập hoặc trạng thái thay đổi
- Muốn logic điều kiện rõ ràng hơn biến đếm
Ví dụ nhập mật khẩu cho đến khi đúng:
#include <iostream>
#include <string>
using namespace std;
int main() {
string matKhau;
while (matKhau != "123456") {
cout << "Nhap mat khau: ";
cin >> matKhau;
}
cout << "Dang nhap thanh cong" << endl;
return 0;
}
Cách dùng break và continue trong C++
for (int i = 1; i <= 10; i++) {
if (i == 5) {
continue;
}
if (i == 8) {
break;
}
cout << i << endl;
}continuebỏ qua lần lặp hiện tại.breakthoát khỏi vòng lặp ngay lập tức.
Ví dụ vòng lặp C++ trong bài toán thực tế
Giả sử bạn muốn tính tổng các số từ 1 đến 100:
#include <iostream>
using namespace std;
int main() {
int tong = 0;
for (int i = 1; i <= 100; i++) {
tong += i;
}
cout << tong << endl;
return 0;
}
Đây là ví dụ cơ bản nhưng rất quan trọng. Nhiều bài toán sau này như đếm phần tử hay tính trung bình cộng đều dựa trên ý tưởng này.
Một ví dụ khác với do while:
#include <iostream>
using namespace std;
int main() {
int luaChon;
do {
cout << "Nhap 0 de thoat: ";
cin >> luaChon;
} while (luaChon != 0);
return 0;
}
Chương trình này chắc chắn hỏi người dùng ít nhất một lần, đúng với đặc điểm của do while trong c++.
Những lỗi thường gặp với vòng lặp trong C++
- Quên tăng hoặc giảm biến đếm nên gây lặp vô hạn.
- Viết sai điều kiện dừng.
- Nhầm lẫn giữa
<và<=. - Dùng
breakquá sớm khiến kết quả thiếu dữ liệu.
int i = 0;
// Neu quen i++ thi vong lap se khong dung
while (i < 5) {
cout << i << endl;
i++;
}
Một lỗi khác là truy cập sai chỉ số khi duyệt mảng:
int so[3] = {10, 20, 30};
for (int i = 0; i <= 3; i++) {
cout << so[i] << endl;
}
Ở đây i <= 3 là sai vì chỉ số hợp lệ chỉ đến 2.
Bài tập thực hành
Viết chương trình in bảng cửu chương 7 bằng vòng lặp for.
Gợi ý:
for (int i = 1; i <= 10; i++) {
// viet code o day
}Làm thêm nếu bạn muốn luyện chắc hơn: dùng while để nhập các số cho đến khi người dùng nhập 0, rồi tính tổng các số đã nhập.
Câu hỏi thường gặp về vòng lặp trong C++
Khi nào nên dùng for thay vì while?
Hãy dùng for khi bạn biết rõ số lần lặp, ví dụ lặp từ 1 đến 10. Dùng while khi việc dừng phụ thuộc vào một điều kiện thay đổi trong lúc chạy.
do while khác gì while?
do while luôn chạy thân vòng lặp ít nhất một lần. while thì kiểm tra điều kiện trước, nên có thể không chạy lần nào.
Vì sao vòng lặp bị lặp vô hạn?
Thường là vì điều kiện dừng không bao giờ sai, hoặc bạn quên cập nhật biến điều khiển như i++.
Tóm tắt
Bạn đã học cách dùng for, while, do while, cùng với break và continue trong C++. Ở bài tiếp theo, chúng ta sẽ học hàm trong C++ để tổ chức code thành từng khối dễ tái sử dụng.
Bài viết liên quan

Next.js là gì? Tại sao nên dùng Next.js để làm web?
Giới thiệu Next.js — framework React phổ biến nhất. Tìm hiểu ưu điểm, tính năng nổi bật và khi nào nên dùng.

Con bug đầu tiên trong cuộc đời lập trình viên
Câu chuyện hài hước về lần đầu gặp bug và mất 3 tiếng để tìm ra nguyên nhân chỉ là... thiếu dấu chấm phẩy.

Hướng dẫn cài đặt Python chi tiết trên Windows, macOS, Linux
Hướng dẫn từng bước cài đặt Python trên mọi hệ điều hành. Kèm cách kiểm tra và chạy chương trình đầu tiên.