Rất mừng Lúc được kế tiếp sát cánh đồng hành nằm trong chúng ta nhập khóa đào tạo lập trình sẵn trực tuyến ngôn từ C++.
Trong công tác, tất cả chúng ta tiếp tục cùng với nhau lần hiểu về cấu tạo vòng lặp (Loops) - một trong mỗi cấu tạo tinh chỉnh được dùng thông dụng nhập ngôn từ C++.
Bạn đang xem: vòng lặp while
Cấu trúc vòng lặp khiến cho công tác tiến hành lặp cút 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ày cơ.
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 sở hữu một cấu tạo vòng lặp được bịa đặt bên trên B, nó rất có thể buộc phải công tác tiến hành việc làm B 1 phiên, hoặc cũng rất có thể tiến hành việc làm B vô số phiên tuy nhiên ko thể gửi thanh lịch tiến hành việc làm C tiếp sau đó. Số phiên tiến hành việc làm B nó sẽ bị tùy thuộc vào biểu thức ĐK được bịa đặt nhập cấu tạo vòng lặp.
Mình lấy ví dụ như nhập 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 phiên 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 cút tái diễn rất nhiều lần trong những lúc ĐK SV A đầy đủ điểm nhằm qua loa môn vẫn còn đó sai.
While statements
While statement là cấu tạo vòng lặp đơn giản và giản dị nhất nhập số những loại vòng lặp cơ phiên bản tuy nhiên ngôn từ C++ cung ứng.
while (expression)
{
statements;
}
Vòng lặp while được khái niệm bởi vì kể từ khóa while. Một Lúc vòng lặp while được thực đua, biểu thức ĐK nhập while sẽ tiến hành Review. Nếu biểu thức ĐK mang lại độ quý hiếm trúng, những câu mệnh lệnh nhập khối mệnh lệnh của vòng lặp while sẽ tiến hành thực đ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 trúng, tất cả chúng ta rất có thể quăng quật cặp vệt ngoặc nhọn cút.
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 thúc giục 1 phiên lặp của vòng lặp while, công tác tiếp tục con quay lên lại địa điểm chính thức vòng lặp while nhằm Review lại biểu thức ĐK, nếu như biểu thức ĐK vẫn còn đó mang lại độ quý hiếm trúng, những câu mệnh lệnh nhập 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 trở thành score không hề thõa mãn ĐK (score < 4) thì vòng lặp while mới nhất kết thúc giục. Chúng tớ nằm trong coi thành quả chương trình:
Khi số điểm được nhập nhập là 10, tức thì tức thời mệnh đề (score < 4) được Review là false, vòng lặp ngừng thực đ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ố phiên tái diễn khối việc làm. Chúng tớ chỉ hiểu được, vòng lặp while tiếp tục ngừng thực đua lúc nào biểu thức ĐK mang lại độ quý hiếm false.
Chúng tớ rất có thể dùng thêm 1 trở thành nhằm điểm số phiên 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 nhập tình huống không tồn tại sự tác dụng 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 trúng. Ví dụ:
int count = 0;
while (count < 10)
{
cout << count << " ";
}
Biến count nhập tình huống này không trở nên ai tác dụng cho tới độ quý hiếm, nên nó vẫn chính là 0 và luôn luôn bé nhiều hơn 10. Dó cơ, ĐK luôn luôn trực tiếp trúng và vòng lặp ko thể kết thúc giục được.
Chúng tớ rất 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 ra khỏi vòng lặp vô vàn là dùng kể từ khóa break, return, goto,...
Loop variables
Xem thêm: thuật ngữ thuộc tính
Thông thông thường, tất cả chúng ta mong muốn vòng lặp tiến hành việc làm nhập một trong những phiên sở hữu số lượng giới hạn. Để thực hiện điều này, tất cả chúng ta hay được dùng thêm thắt những trở thành vòng lặp (loop variable), những trở thành này thông thường được dùng mang lại mục tiêu điểm số phiên tiến hành khối mệnh lệnh của vòng lặp.
Mình lấy ví dụ công tác đ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 trở thành count cút 1, điều này tiếp tục dẫn theo mệnh đề (count >= 0) tiếp tục sai nhập 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 rất có thể bịa đặt 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 phiên lặp của vòng lặp while ngoài, công tác lại tiến hành toàn cỗ vòng lặp while nhập, tiếp sau đó tiến hành tăng trở thành outer lên 1 độ quý hiếm. Kết trái ngược công tác 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 gom tất cả chúng ta đánh giá trí tuệ về cấu tạo vòng lặp nhập ngôn từ C/C++. Cấu trúc vòng lặp while khá ngắn ngủn gọn gàng, dễ nắm bắt. Chúng tớ hay được dùng vòng lặp while cho những tình huống số phiên tái diễn việc làm là không biết trước.
Bài tập luyện cơ bản
1/ Viết công tác 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ì ngừng.
2/ Viết công tác in rời khỏi toàn bộ ký tự động nằm trong bảng mã ASCII kể từ 0 cho tới 127.
3/ Viết công tác dùng vòng lặp while nhằm công tác in rời khỏi như sau:
1
1 2
1 2 3
1 2 3 4
1 2 3 4 5
P/s: Hẹn hội ngộ chúng ta nhập bài học kinh nghiệm tiếp theo sau nhập khóa đào tạo lập trình sẵn C++ phía thực hành thực tế.
Mọi chủ ý góp sức hoặc vướng mắc rất có thể bịa đặt thắc mắc thẳng bên trên forums
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ề trở thành, loại dữ liệu
Kiểu tài liệu tự động lăm le nghĩa
Nhập, xuất, streams (Input & Output)
Standard Template Library
Một số feature nhập C++11, C++14
Xem thêm: đô thị hóa nước ta có sức hút với đầu tư chủ yếu do
Bình luận