Cấu trúc lặp do - while: Chức năng của vòng lặp do-while hoàn toàn giống vòng lặp while chỉ trừ có một điều là điều kiện điều khiển vòng lặp được tính toán sau khi
*** CHÚ Ý: - Các cấu trúc for, while, do-while có thể chuyển đổi qua lại cho nhau. - Câu lệnh
[Khối lệnh]
được thực hiện. Vì vậy, [Khối lệnh]
sẽ được thực hiện ít nhất một lần ngay cả khi [biểu thức điều khiển
] không bao giờ được thoả mãn.
Cú pháp:
do { Khối lệnh; } while (biểu thức điều kiện);Trong đó: -
[biểu thức điều khiển]
là biểu thức logic.
- Trong [khối lệnh]
cần có tác động để [biểu thức điều khiển]
sai đi.
Ví dụ 1
- Yêu cầu: Nhập một số có giá trị từ 0 đến 9, nếu nhập không đúng yêu cầu nhập lại. In ra số được nhập hợp lệ.
- Code
#include <iostream> #include <conio.h> using namespace std; int main() { int n; do{ cout<<"\n Nhap n = "; cin>>n; if (n<0 || n>9) cout<<"\n Nhap lai n !"; }while (n<0 || n>9); // in ket qua cout<<"\n So da nhap hop le: "<<n; return 0; }
Ví dụ 2
- Yêu cầu: Tính tổng các số từ 1 đến n, với n nhập vào từ bàn phím thỏa mãn 1<n<2014.
- Code
#include <iostream> #include <conio.h> using namespace std; int main() { int n; // su dụng do-while de nhap n do{ cout<<"\n Nhap n = "; cin>>n; if (n<=1||n>=2014) cout<<"\n Nhap lai n !"; }while (n<=1||n>=2014); // tinh tong int s = 0,i = 1; do{ s = s+i; i++; }while(i<=n); // in ket qua cout<<"\n Tong = "<<s; return 0; }
Ví dụ 3
- Yêu cầu: Đếm số chẵn từ 0 đến n, với n nhập vào từ bàn phím thỏa mãn 4<=n<=1000.
- Code
#include <iostream> #include <conio.h> using namespace std; int main() { int n; // su dụng do-while de nhap n do{ cout<<"\n Nhap n = "; cin>>n; if (n<4||n>1000) cout<<"\n Nhap lai n !"; }while (n<4||n>1000); // dem so chan int dem = 0,i = 0; do{ if (i%2==0) dem++; i++; }while (i<=n); // in ket qua cout<<"\n Ket qua = "<<dem; return 0; }
Ví dụ 4
- Yêu cầu: In ra màn hình tất cả số nguyên gồm 4 chữ sao cho tổng các chữ số bằng 10.
- Code
#include <iostream> #include <conio.h> using namespace std; int main() { cout<<"In ket qua: \n"; int i = 1000; do{ if(i%10+(i/10)%10+(i/100)%10+i/1000==10) cout<<i<<";\t"; i++; }while (i<=9999); return 0; }
Ví dụ 5
- Yêu cầu: In ra màn hình bảng cửu chương.
- Code
#include <iostream> #include <conio.h> using namespace std; int main() { cout<<"In bang cuu chuong: \n"; int i = 1; do{ int j = 1; do{ cout<<i<<"x"<<j<<"= "<<i*j<<";\t"; j++; }while (j<9); cout<<"\n"; i++; } while (i<=9); return 0; }
Ví dụ 6
- Yêu cầu: In ra màn hình tất cả số nguyên tố nhỏ hơn 1000.
- Code
#include <iostream> #include <conio.h> using namespace std; int main() { cout<<"In so nguyen to nho hon 1000: \n"; int i = 1; do { int test = 0,j = 2; do{ if(i%j==0) { test = 1; break; } j++; }while (j<i); if(test==0) cout<<i<<";\t"; i++; }while (i<1000); return 0; }
*** CHÚ Ý: - Các cấu trúc for, while, do-while có thể chuyển đổi qua lại cho nhau. - Câu lệnh
break
, continue
:
+ break
: khi gặp lệnh break vòng lặp kết thúc.
+ continue
: khi gặp lệnh continue vòng lặp bỏ qua phần còn lại, bắt đầu vòng lặp mới.
Chương trình học
Các bài học
Bài học trước Bài học tiếp theo
Chương trình học
Bao gồm Module, Chương, Bài học, Bài tập, Kiểm tra...Chương trình học
Bài học trước Bài học tiếp theo