---------------------------------
* TÓM TẮT LÝ THUYẾT
---------------------------------
1. Cấu trúc lặp do - while
Chức năng của nó là 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 condition không bao giờ được thoả mãn
2. Cú pháp:
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Ụ
---------------------------------
Ví dụ 1:
+ 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 n= ";
cin>>n;
if (n<=1||n>=2014)
cout<<"\n Nhap lai n !";
}while (n<=1||n>=2014);
// tinh tong
int s=0,i=0;
do{
s=s+i;
i++;
}while(i<=n);
// in ket qua
cout<<"\n Tong = "<<s;
return 0;
}
--------------
Ví dụ 2:
+ Yêu cầu: Đếm số chẵn nhỏ hơ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 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 qu = "<<dem;
return 0;
}
--------------
Ví dụ 3:
+ 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<<"\n In ket qua: ";
int i=1000;
do{
if(i%10+(i/10)%10+(i/100)%10+i/1000==10)
cout<<i<<" ; ";
i++;
}while (i<=9999);
return 0;
}
---------------
Ví dụ 4:
+ 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<<"\n In bang cuu chuong: \n";
int i=1;
do{
int j=1;
do{
cout<<i<<"x"<<j<<"= "<<i*j<<" ; ";
j++;
}while (j<9);
cout<<"\n";
i++;
} while (i<=9);
return 0;
}
--------------
Ví dụ 5:
+ 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<<"\n 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<<" ; ";
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 contineu vòng lặp bỏ qua phần còn lại, bắt đầu vòng lặp mới.
------------------------
Xem bài khác:
* TÓM TẮT LÝ THUYẾT
---------------------------------
1. Cấu trúc lặp do - while
Chức năng của nó là 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 condition không bao giờ được thoả mãn
2. Cú pháp:
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Ụ
---------------------------------
Ví dụ 1:
+ 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 n= ";
cin>>n;
if (n<=1||n>=2014)
cout<<"\n Nhap lai n !";
}while (n<=1||n>=2014);
// tinh tong
int s=0,i=0;
do{
s=s+i;
i++;
}while(i<=n);
// in ket qua
cout<<"\n Tong = "<<s;
return 0;
}
--------------
Ví dụ 2:
+ Yêu cầu: Đếm số chẵn nhỏ hơ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 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 qu = "<<dem;
return 0;
}
--------------
Ví dụ 3:
+ 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<<"\n In ket qua: ";
int i=1000;
do{
if(i%10+(i/10)%10+(i/100)%10+i/1000==10)
cout<<i<<" ; ";
i++;
}while (i<=9999);
return 0;
}
---------------
Ví dụ 4:
+ 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<<"\n In bang cuu chuong: \n";
int i=1;
do{
int j=1;
do{
cout<<i<<"x"<<j<<"= "<<i*j<<" ; ";
j++;
}while (j<9);
cout<<"\n";
i++;
} while (i<=9);
return 0;
}
--------------
Ví dụ 5:
+ 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<<"\n 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<<" ; ";
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 contineu vòng lặp bỏ qua phần còn lại, bắt đầu vòng lặp mới.
Một số tài liệu và khoá học bổ ích dành cho bạn:
# Giáo Trình: Kỹ Thuật Lập Trình C/C++ Căn Bản Và Nâng Cao [Click để xem]
# Khoá học online: Học lập trình C/C++ TỪ A - Z [Click để xem]
------------------------
Xem bài khác:
------------------------
Bài 1: Chương trình đầu tay
Bài 1: Chương trình đầu tay
Bài 2: Các kiểu dữ liệu cơ bản chuần trong C\C++
Bài 3: Nhập, Xuất trong C/C++
Bài 4: Cấu trúc rẽ nhánh (IF)
Bài 5: Cấu trúc lặp for
Bài 6: Cấu trúc lặp while
Bài 7: Cấu trúc lặp do ... while
Bài 8: Cấu trúc lựa chọn switch... case
Bài 9: Dữ liệu kiểu mảng (array)
Bài 10: Dữ liệu kiểu cấu trúc (struct)
Bài 11: Hàm (function)
Bài 12: Dữ liệu kiểu con trỏ (pointer)
Bài 13: Xử lý tệp tin (file)
Bài 14: Lập trình hướng đối tượng (OOP) với C++
Bài 3: Nhập, Xuất trong C/C++
Bài 4: Cấu trúc rẽ nhánh (IF)
Bài 5: Cấu trúc lặp for
Bài 6: Cấu trúc lặp while
Bài 7: Cấu trúc lặp do ... while
Bài 8: Cấu trúc lựa chọn switch... case
Bài 9: Dữ liệu kiểu mảng (array)
Bài 10: Dữ liệu kiểu cấu trúc (struct)
Bài 11: Hàm (function)
Bài 12: Dữ liệu kiểu con trỏ (pointer)
Bài 13: Xử lý tệp tin (file)
Bài 14: Lập trình hướng đối tượng (OOP) với C++