Phân biệt cấu trúc for và while:
- Khi x|c định được số lần lặp có thể sử dụng while, do while, for, khi chưa x|c định số lần lặp chỉ có thể sử dụng while, do while.
- Tất cả bài tốn viết được bằng for đều có thể viết được bằng while, do while,
điều ngược lại không đúng.
- while kiểm tra điều kiện trước khi thực hiện khối lệnh, do đó có thể khơng
thực hiện lặp lần nào, do while thực hiện khối lệnh một lần trước khi kiểm tra điều kiện nên khối lệnh được thực hiện ít nhất một lần.
Ví dụ: Viết chương trình tính tổng các số ngun được nhập vào, kết thúc khi nhập -1
Tài liệu giảng dạy Kỹ thuật lập trình 1 Trang 86 #include "iostream" using namespace std; void main() { int nN = 0; //input
int nTong = 0; // output
//nhap fN va tinh tong
while(nN != -1)
{
nTong = nTong + nN ;
cout << " nhap so nguyen = "; cin >> nN;
}
cout << " tong = " << nTong; cout << endl; system("pause"); } Sử dụng do … while : #include "iostream" using namespace std; void main() { int nN = 0; //input
int nTong = 0; // output
//nhap fN va tinh tong
do
Tài liệu giảng dạy Kỹ thuật lập trình 1 Trang 87
nTong = nTong + nN ;
cout << " nhap so nguyen = "; cin >> nN;
}while(nN != -1);
cout << " tong = " << nTong; cout << endl;
system("pause"); }
Bài toán này khơng thể sử dụng cấu trúc for vì khơng x|c định số lần lặp cụ thể