vong lap while

Rất vui vẻ Lúc được nối tiếp sát cánh đồng hành nằm trong chúng ta vô khóa huấn luyện và đào tạo lập trình sẵn trực tuyến ngôn từ C++.

Trong lịch trình, tất cả chúng ta tiếp tục cùng với nhau dò thám hiểu về cấu hình vòng lặp (Loops) - một trong mỗi cấu hình tinh chỉnh và điều khiển được dùng phổ cập vô ngôn từ C++.

Cấu trúc vòng lặp khiến cho lịch trình tiến hành lặp chuồn tái diễn một chuỗi những câu mệnh lệnh cho tới Lúc không hề thõa mãn một ĐK nào là cơ.

Bạn đang xem: vong lap while

Ví dụ:

int main()
{
	//do A
	//do B 0 or more times
	//do C
}

Như vậy, tất cả chúng ta hiểu rằng với 1 cấu hình vòng lặp được đặt điều bên trên B, nó hoàn toàn có thể nên lịch trình tiến hành việc làm B 1 phen, hoặc cũng hoàn toàn có thể tiến hành việc làm B vô số phen tuy nhiên ko thể gửi quý phái tiến hành việc làm C tiếp sau đó. Số phen tiến hành việc làm B nó sẽ bị tùy theo biểu thức ĐK được đặt điều vô cấu hình vòng lặp.

Mình lấy ví dụ vô cuộc sống hằng ngày. Sinh viên A đăng kí học tập môn lập trình sẵn C++ bên trên ngôi trường ĐH, nếu như SV A ko đầy đủ điểm nhằm qua loa môn học tập này thì SV A sẽ rất cần học tập lại. Trong tình huống SV A cần học tập lại phen thứ hai, tất cả chúng ta lại bảo rằng nếu như SV A ko đầy đủ điểm qua loa môn học tập này thì SV A cần học tập lại... Vậy việc SV A học tập lại là việc làm sẽ tiến hành lặp chuồn tái diễn rất nhiều lần trong những khi ĐK SV A đầy đủ điểm nhằm qua loa môn vẫn còn đấy sai.

While statements

While statement là cấu hình vòng lặp giản dị và đơn giản nhất vô số những loại vòng lặp cơ phiên bản tuy nhiên ngôn từ C++ hỗ trợ.

while (expression)
{
	statements;
}

Vòng lặp while được khái niệm vị kể từ khóa while. Một Lúc vòng lặp while được thực ganh đua, biểu thức ĐK vô while sẽ tiến hành Reviews. Nếu biểu thức ĐK cho tới độ quý hiếm đích thị, những câu mệnh lệnh vô khối mệnh lệnh của vòng lặp while sẽ tiến hành thực ganh đua.

Trong tình huống tất cả chúng ta chỉ tiến hành 1 câu mệnh lệnh Lúc biểu thức ĐK đích thị, tất cả chúng ta hoàn toàn có thể quăng quật cặp vết ngoặc nhọn chuồn.

while (expression)
	statement;

Nhưng bản thân ko khuyến nghị điều này.

Khác với if statement, một Lúc kết cổ động 1 phen lặp của vòng lặp while, lịch trình tiếp tục tảo lên lại địa điểm chính thức vòng lặp while nhằm Reviews lại biểu thức ĐK, nếu như biểu thức ĐK vẫn còn đấy cho tới độ quý hiếm đích thị, những câu mệnh lệnh vô khối mệnh lệnh của vòng lặp while được tiến hành lại.

Ví dụ:

int main()
{
	int score = 0;
	while (score < 4)
	{
		cout << "Learn C++ programming language..." << endl;
		cout << "Enter your final score: ";
		cin >> score; //new score
	}		

	cout << "Congratulation! You passed the exam" << endl;

	system("pause");
	return 0;
}

Trong ví dụ bên trên, cho tới lúc nào biến hóa score không hề thõa mãn ĐK (score < 4) thì vòng lặp while mới nhất kết cổ động. Chúng tao nằm trong coi thành phẩm chương trình:

Khi số điểm được nhập vô là 10, tức thì ngay tức khắc mệnh đề (score < 4) được Reviews là false, vòng lặp ngừng thực ganh đua tức thì tiếp sau đó.

Với vòng lặp while, tất cả chúng ta ko thể biết trước số phen tái diễn khối việc làm. Chúng tao chỉ hiểu được, vòng lặp while tiếp tục ngừng thực ganh đua lúc nào biểu thức ĐK cho tới độ quý hiếm false.

Chúng tao hoàn toàn có thể dùng thêm 1 biến hóa nhằm kiểm điểm số phen tiến hành khối mệnh lệnh của vòng lặp while:

int score = 0;
int count = 0;

while (score < 4)
{
	count++;
	cout << "Learn C++ programming language..." << endl;
	cout << "Enter your final score: ";
	cin >> score; //new score
}		

cout << "Congratulation! You passed the exam after " << count << " times" << endl;
Infinite loops

Vòng lặp vô vàn xẩy ra vô tình huống không tồn tại sự hiệu quả cho tới biểu thức ĐK của vòng lặp while và nó luôn luôn trực tiếp đích thị. Ví dụ:

int count = 0;
while (count < 10)
{
	cout << count << " ";
}

Biến count vô tình huống này không biến thành ai hiệu quả cho tới độ quý hiếm, nên nó vẫn chính là 0 và luôn luôn bé thêm hơn 10. Dó cơ, ĐK luôn luôn trực tiếp đích thị và vòng lặp ko thể kết cổ động được.

Chúng tao hoàn toàn có thể cố ý khai báo vòng lặp vô hạn bằng phương pháp sau:

while (true)
{
	//This loop will be executed forever
}

Cách độc nhất nhằm bay thoát khỏi vòng lặp vô vàn là dùng kể từ khóa break, return, goto,...

Xem thêm: lâm áng tư

Loop variables

Thông thông thường, tất cả chúng ta ham muốn vòng lặp tiến hành việc làm vô một số trong những phen với số lượng giới hạn. Để thực hiện điều này, tất cả chúng ta hay sử dụng tăng những biến hóa vòng lặp (loop variable), những biến hóa này thông thường được dùng cho tới mục tiêu kiểm điểm số phen tiến hành khối mệnh lệnh của vòng lặp.

Mình lấy ví dụ lịch trình kiểm điểm ngược kể từ 10 về 0 như sau:

int count = 10;
while (count >= 0)
{
	_sleep(1000); //stop 1000 miliseconds
	if (count == 0)
		cout << "Finished" << endl;
	else
		cout << count << " ";

	count--;
}

Kết quả:

10 9 8 7 6 5 4 3 2 1 Finished

Tại cuối vòng lặp, bản thân tiến hành trừ độ quý hiếm của biến hóa count chuồn 1, điều này tiếp tục dẫn theo mệnh đề (count >= 0) tiếp tục sai vô sau này. Như vậy, vòng lặp while này còn có trạm dừng.

Nest while loops

Cũng tương tự động như if statement hoặc switch case statement, tất cả chúng ta hoàn toàn có thể đặt điều vòng lặp while bên phía trong khối mệnh lệnh của vòng lặp while không giống.

int outer = 1;
while (outer <= 5)
{
	int inner = 1;
	while (inner <= 5)
	{
		cout << inner << " ";
		inner++;
	}
	cout << endl; // print a newline at the kết thúc of each row
	
	outer++;
}

Cứ từng phen lặp của vòng lặp while ngoài, lịch trình lại tiến hành toàn cỗ vòng lặp while vô, tiếp sau đó tiến hành tăng biến hóa outer lên 1 độ quý hiếm. Kết trái ngược lịch trình tiếp tục là:

1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5

Tổng kết

Tìm hiểu về vòng lặp while canh ty tất cả chúng ta đánh giá suy nghĩ về cấu hình vòng lặp vô ngôn từ C/C++. Cấu trúc vòng lặp while khá cụt gọn gàng, dễ dàng nắm bắt. Chúng tao hay sử dụng vòng lặp while cho những tình huống số phen tái diễn việc làm là không biết trước.

Bài luyện cơ bản

1/ Viết lịch trình tính tổng những số vẹn toàn được nhập kể từ keyboard cho tới Lúc nhập số 0 thì giới hạn.

2/ Viết lịch trình in đi ra toàn bộ ký tự động nằm trong bảng mã ASCII kể từ 0 cho tới 127.

3/ Viết lịch trình dùng vòng lặp while nhằm lịch trình in đi ra như sau:

1
1 2
1 2 3
1 2 3 4
1 2 3 4 5

P/s: Hẹn tái ngộ chúng ta vô bài học kinh nghiệm tiếp theo sau vô khóa huấn luyện và đào tạo lập trình sẵn C++ phía thực hành thực tế.

Mọi chủ kiến góp sức hoặc vướng mắc hoàn toàn có thể đặt điều thắc mắc thẳng bên trên diễn đàn

www.daynhauhoc.com


Link Videos khóa học

https://www.udemy.com/c-co-ban-danh-cho-nguoi-moi-hoc-lap-trinh/learn/v4/overview

    • Giới thiệu tổng quan tiền khóa học

    • Nâng cao về biến hóa, loại dữ liệu

    • Kiểu tài liệu tự động ấn định nghĩa

      Xem thêm: truyện đã nhiều năm như thế

    • Nhập, xuất, streams (Input & Output)

    • Standard Template Library

    • Một số feature vô C++11, C++14