Cú pháp và cách sử dụng vòng lặp while trong C++

Đây là bài 18/43 bài của series môn học Nhập môn lập trình

Giải sử, cần viết chương trình xuất các số từ 1 đến 10. Đơn giản là sử dụng 10 câu lệnh cout<<. Nhưng cần viết chương trình xuất các số từ 1 đến 1000. Sử dụng 1000 câu lệnh cout<< thì sẽ là một pha xử lý thật “cồng kềnh”.

Giải pháp là sử dụng cấu trúc lặp để thực hiện các công việc mang tính lặp lại khi thỏa mãn điều kiện nào đó. Có 3 lệnh lặp trong C++ là for, while, do…while. Bài này sẽ giới thiệu cách sử dụng vòng lặp while.

1. Cú pháp vòng lặp while

while (<điều kiện lặp>)
{
	//code block
}

với <điều kiện lặp> thường là biểu thức với các toán tử quan hệ, kết quả trả về là true (0) hoặc false (0).

Nguyên lý hoạt động của vòng lặp while như sau:

Kiểm tra <điều kiện lặp>, nếu <điều kiện lặp> đúng (true) thì dòng lệnh trong while sẽ được thực thi.

Quá trình kiểm tra <điều kiện lặp> và thực thi dòng lệnh trong while sẽ chấm dứt cho đến khi <điều kiện lặp> sai (false). Tức là, nếu bất cứ khi nào <điều kiện lặp> sai (false) thì vòng lặp while sẽ chấm dứt.

Chương trình C++ in ra số từ 1 đến 5 sử dụng vòng lặp while

#include <iostream>
using namespace std;

int main()
{
	int i = 1;
	// while loop from 1 to 5
	while (i <= 5) {
		cout << i << " ";
		++i;
	}

	return 0;
}
Kết quả
1 2 3 4 5

Chương trình trên thực hiện các lần lặp trong while như sau:

Lần lặpBiến iĐiều kiện lặp i<=5Thực thi
1i=1trueIn ra 1 và tăng i lên 2
2i=2trueIn ra 2 và tăng i lên 3
3i=3trueIn ra 3 và tăng i lên 4
4i=4trueIn ra 4 và tăng i lên 5
5i=5trueIn ra 5 và tăng i lên 6
6i=6falseVòng lặp chấm dứt

2. Một số lưu ý khi sử dụng while

Câu lệnh while có thể lồng nhau

if (n < 10 && m < 20)
{
	while (n >= 1)
	{
		while (m >= 1)
		{
			cout<<m<<endl;
			m--;
		}
		n--;
	}
}

Câu lệnh while có thể không thực hiện lần nào do điều kiện lặp ngay từ lần đầu đã không thỏa mãn

int n = 1;
while (n > 10)
{
	cout<<n<<endl;
	n--;
}

Không được thêm “;” ngay sau lệnh while

int n = 0;
while (n < 10);//while sẽ không thực thi được
{
	cout<<n<<endl;
	n++;
}
while (n < 10)
{
};//while sẽ không thực thi được
{
	cout<<n<<endl;
	n++;
}

Câu lệnh while có thể bị lặp vô hạn

int n = 1;
while (n < 10)//n=1, n-- thì điều kiện lặp vô hạn
{
	cout<<n<<endl;
	n--;
}
n = 1;
while (n < 10){//n=1 thì điều kiện lặp vô hạn
	cout<<n<<endl;
}

Lưu ý: Khi sử dụng vòng lặp while phải tránh sai cú phápđiều kiện lặp vô hạn.

5/5 - (1 bình chọn)
Bài trước và bài sau trong môn học<< Cú pháp và cách sử dụng toán tử điều kiện trong C++Sử dụng vòng lặp do while và sự khác nhau với while >>
Chia sẻ trên mạng xã hội:

Trả lời

Lưu ý:

1) Vui lòng bình luận bằng tiếng Việt có dấu.

2) Khuyến khích sử dụng tên thật và địa chỉ email chính xác.

3) Mọi bình luận trái quy định sẽ bị xóa bỏ.