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 [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:
1
2
3
4
5
|
do { Khối lệnh; } while (biểu thức điều khiể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:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
#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:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
#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:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
#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:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
#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:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
#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:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
#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.
Liên hệ thầy Thái để tham khảo thêm:
Điện thoại: 0986.425.099 – 024.6260.1456
Website: www.candinhthai.com
Địa chỉ: A4, Kim Chung, Đông Anh, Hà Nội