Trong bài học này bạn sẽ học vòng lặp còn lại trong ngôn ngữ lập trình C+ đó là vòng lặp do-while.
1. Vòng Lặp Do-While
Nếu bạn đã hiểu rõ cách hoạt động của vòng lặp for và while thì vòng lặp do-while bạn cũng sẽ thấy sự tương đồng của nó với vòng lặp while.
Chỉ có 1 chút khác biệt đó là vòng lặp do-while thực hiện câu lệnh trước rồi mới kiểm tra điều kiện sau
Cú pháp :
do {
// Code
} while(condition);
// Code
} while(condition);
Cách vòng lặp do-while hoạt động :
- Code bên trong thân vòng lặp được thực hiện lần thứ nhất, sau đó điều kiện (condition) được kiểm tra
- Nếu điều kiện trong while có giá trị sai vòng lặp do-while sẽ kết thúc
- Nếu điều kiện trong while đúng, khối lệnh trong do được thực hiện thêm 1 lần nữa
- Bước 3 được lặp đi lặp lại cho tới khi điều kiện trong while bị sai, nếu điều kiện này luôn đúng vòng lặp sẽ lặp vĩnh viễn
Ví dụ 1: In ra các số từ 1 đến n bằng do-while
#include <iostream>
using namespace std;
int main() {
int i = 1, n = 4;
do {
cout << i << ' ';
++i;
} while(i <= n);
return 0;
}
using namespace std;
int main() {
int i = 1, n = 4;
do {
cout << i << ' ';
++i;
} while(i <= n);
return 0;
}
Output :
1 2 3 4
Giải thích :
- Vòng lặp thực hiện in ra i là 1, sau đó ++i thì i lên 2
- Vòng lặp kiểm tra điều kiện lặp : i <= n tương tương 2 <= 4 có giá trị đúng nên tiếp tục in ra i là 2, ++i thì i tăng lên 3
- Vòng lặp kiểm tra điều kiện lặp : i <= n tương tương 3 <= 4 có giá trị đúng nên tiếp tục in ra i là 3, ++i thì i tăng lên 4
- Vòng lặp kiểm tra điều kiện lặp : i <= n tương tương 4 <= 4 có giá trị đúng nên tiếp tục in ra i là 4, ++i thì i tăng lên 5
- Vòng lặp kiểm tra điều kiện lặp : i <= n tương tương 5 <= 4 có giá trị sai nên vòng lặp kết thúc
Ví dụ 2 : Nhập 1 số nguyên từ bàn phím nếu nhập số âm thì yêu cầu nhập lại, nhập số không âm thì cho dừng
#include <iostream>
using namespace std;
int main() {
int n;
do {
cout << "Nhap n : ";
cin >> n;
} while(n < 0);
return 0;
}
using namespace std;
int main() {
int n;
do {
cout << "Nhap n : ";
cin >> n;
} while(n < 0);
return 0;
}
2. Sơ Đồ Khối
Các bạn lưu ý rằng vòng lặp do-while sẽ luôn thực hiện khối lệnh 1 lần đầu tiên trước khi kiểm tra điều kiện lặp.