C++: Bài 16. Vòng lặp do-while
Giải phóng thời gian, khai phóng năng lực
Tương tự như vòng lặp while, vòng lặp do-while dùng để thực hiện lặp đi lặp lại nhiều lần một khối lệnh.
Vòng lặp do-while cũng được gọi là vòng lặp không xác định (vô hạn) vì thông thường ta sẽ không xác định được số lần thực hiện khối lệnh trong nó.
Cú pháp:
do{
khối_lệnh;
}while(điều_kiện);
Quy cách thực thi
Vòng lặp do-while sẽ thực hiện khối_lệnh trước rồi mới kiểm tra điều_kiện. Cụ thể:
+ Khi trình dịch gặp vòng lặp do-while thì trước tiên nó sẽ thực hiện khối_lệnh bên trong cặp {}.
+ Sau đó trình dịch xuống phần điều_kiện để kiểm tra xem điều kiện đúng (true) hay sai (false).
+ Nếu điều_kiện đúng thì tiếp tục quay lên thực hiện khối_lệnh, thực hiện xong lại quay lên kiểm tra điều_kiện, chu trình này sẽ lặp đi lặp lại cho đến khi điều_kiện sai.
Như vậy, khối_lệnh trong vòng lặp do-while sẽ được thực hiện ít nhất một lần cho dù điều_kiện sai ngày từ đầu.
Ví dụ:
Vòng lặp do-while thực hiện khối_lệnh một lần duy nhất (chưa kịp lặp lần nào):
#include <iostream> using namespace std; main() { do{ cout<<"Lap trinh vien"; //câu lệnh này sẽ được thực hiện một lần }while(0); //vì 0 tương ứng với sai (false) return 0; }
Vòng lặp do-while thực hiện khối_lệnh 10 lần:
#include <iostream> using namespace std; main() { int n=0; do{ cout<<"Lap trinh vien"<<endl; //câu lệnh này, n++; //và câu lệnh này sẽ được thực hiện 10 lần }while(n<10); return 0; }
Nhập vào một số n với yêu cầu n phải nằm trong khoảng 0<n<1000.
#include <iostream> using namespace std; main() { int n; do{ //thực hiện khối lệnh trước cout<<"Moi ban nhap mot so n (0<n<1000): "; cin>>n; }while(!(0<n && n<1000)); //trong khi n không nằm trong khoảng 0-1000 thì thực hiện tiếp khối lệnh cout<<"Sau khi nhap, n = "<<n; return 0; }
Xem thêm
Giải phóng thời gian, khai phóng năng lực