1.    Lệnh lặp do ... while

a.    Cú pháp

do {
khối lệnh lặp;
[break;]
[continue;]
 } while (điều kiện) ;

b.    Thực hiện

 - Đầu tiên chương trình sẽ thực hiện khối lệnh lặp
 - Tiếp theo kiểm tra điều kiện
           + Nếu điều kiện còn đúng thì quay lại thực hiện khối lệnh và quá trình tiếp tục.
           + Nếu điều kiện trở thành sai thì dừng.

[break]

Dùng để thoát ra khỏi (chấm dứt) các câu lệnh cấu trúc, chương trình sẽ tiếp tục thực hiện các câu lệnh tiếp sau câu lệnh vừa thoát.

[continue]


Lệnh dùng để quay lại đầu vòng lặp mà không chờ thực hiện hết các lệnh trong khối lệnh lặp.

c.    Đặc điểm

- Câu lệnh do … while tương tự với câu lệnh lặp while nhưng đó là khối lệnh trong do … while sẽ được thực hiện ít nhất một lần.

2.    Ví dụ minh hoạ

Ví dụ 1 : Kiểm tra một số n có là số nguyên tố.

Để kiểm tra một số n > 3 có phải là số nguyên tố ta lần lượt chia n cho các số i đi từ 2 đến một nửa của n. Nếu có i sao cho n chia hết cho i thì n là hợp số ngược lại n là số nguyên tố.
void main()
{
   int i, n ;                                                                       // n: số cần kiểm tra
   cout << "Cho biết số cần kiểm tra: " ; cin >> n ;
   i = 2 ;
   do {
               if (n%i == 0) {
cout << n << "là hợp số" ;
return ;                                                          // dừng chương trình
               }
               i++;
   } while (i <= n/2);
   cout << n << "là số nguyên tố" ;
}




Ví dụ 2 : Nhập dãy kí tự và thống kê các loại chữ hoa, thường, chữ số và các loại khác còn lại đến khi gặp ENTER thì dừng.

void main()
{
   char c;                                                                                    // kí tự dùng cho nhập
   int n1, n2, n3, n4 ;                                                                // số lượng các loại kí tự
   n1 = n2 = n3 = n4 = 0;                                
   cout << “Hãy nhập dãy kí tự: \n” ;
   do       
   {
               cin >> c;
               if (‘a’ <= c && c <= ‘z’) n1++;                     // nếu c là chữ thường thì tăng n1
               else if (‘A’ <= c && c <= ‘Z’) n2++;            // chữ hoa, tăng n2 
               else if (‘0’ <= c && c <= ‘9’) n3++;             // chữ số, tăng n3
               else n4++;                                                      // loại khác, tăng n4
               cout << n1 << n2 << n3 << n4 ;                   // in kết quả
   } while (c != 10) ;                                                     // còn lặp khi c còn khác kí tự 
}