C++: Bài 16. Vòng lặp do-while


Đăng ký nhận thông báo về những video mới nhất

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 lnh này s được thc hin mt ln
  }while(0); //vì 0 tương ng vi 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 lnh này,
    n++;                          //và câu lnh này s được thc hin 10 ln
  }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{ //thc hin khi lnh trước
  cout<<"Moi ban nhap mot so n (0<n<1000): ";
  cin>>n;
  }while(!(0<n && n<1000)); //trong khi n không nm trong khong 0-1000 thì thc hin tiếp khi lnh

  cout<<"Sau khi nhap, n = "<<n;

  return 0;
}

Xem thêm


Nếu bạn có điều thắc mắc, bạn hãy comment cho V1Study để được giải đáp.
Bài viết này được chia sẻ bởi LongDT. Nếu bạn muốn chia sẻ bài viết, bạn hãy Đăng ký làm thành viên!
« Prev
Next »
Copied !!!