C ++ while và do ... while Loop (Với các ví dụ)

Trong hướng dẫn này, chúng ta sẽ học cách sử dụng vòng lặp while và do… while trong lập trình C ++ với sự trợ giúp của một số ví dụ.

Trong lập trình máy tính, các vòng lặp được sử dụng để lặp lại một khối mã.

Ví dụ: giả sử chúng ta muốn hiển thị một tin nhắn 100 lần. Sau đó, thay vì viết câu lệnh in 100 lần, chúng ta có thể sử dụng một vòng lặp.

Đó chỉ là một ví dụ đơn giản; chúng ta có thể đạt được nhiều hiệu quả và tinh vi hơn trong các chương trình của mình bằng cách sử dụng hiệu quả các vòng lặp.

3 loại vòng lặp trong C ++.

  1. for vòng
  2. while vòng
  3. do… while vòng

Trong hướng dẫn trước, chúng ta đã tìm hiểu về vòng lặp for trong C ++. Ở đây, chúng ta sẽ tìm hiểu về whiledo… whilelặp lại.

C ++ trong khi Vòng lặp

Cú pháp của whilevòng lặp là:

 while (condition) ( // body of the loop )

Đây,

  • Một whilevòng lặp đánh giácondition
  • Nếu conditionđánh giá là true, mã bên trong whilevòng lặp được thực thi.
  • Các conditionđược đánh giá lại.
  • Quá trình này tiếp tục cho đến khi conditionfalse.
  • Khi conditionđánh giá đến false, vòng lặp kết thúc.

Để tìm hiểu thêm về conditions, hãy truy cập Toán tử quan hệ và lôgic C ++.

Lưu đồ Vòng lặp trong khi

Lưu đồ của vòng lặp while trong C ++

Ví dụ 1: Hiển thị các số từ 1 đến 5

 // C++ Program to print numbers from 1 to 5 #include using namespace std; int main() ( int i = 1; // while loop from 1 to 5 while (i <= 5) ( cout << i << " "; ++i; ) return 0; )

Đầu ra

 1 2 3 4 5

Đây là cách chương trình hoạt động.

Lặp lại Biến đổi tôi <= 5 Hoạt động
Ngày 1 i = 1 true 1 được in và iđược tăng lên 2.
lần 2 i = 2 true 2 được in và iđược tăng lên 3.
lần thứ 3 i = 3 true 3 được in và iđược tăng lên4
lần thứ 4 i = 4 true 4 được in và iđược tăng lên 5.
ngày 5 i = 5 true 5 được in và iđược tăng lên 6.
Ngày 6 i = 6 false Vòng lặp đã kết thúc

Ví dụ 2: Chỉ tính tổng các số dương

 // program to find the sum of positive numbers // if the user enters a negative number, the loop ends // the negative number entered is not added to the sum #include using namespace std; int main() ( int number; int sum = 0; // take input from the user cout <> number; while (number>= 0) ( // add all positive numbers sum += number; // take input again if the number is positive cout <> number; ) // display the sum cout << "The sum is " << sum << endl; return 0; )

Đầu ra

 Nhập số: 6 Nhập số: 12 Nhập số: 7 Nhập số: 0 Nhập số: -2 Tổng là 25

Trong chương trình này, người dùng được nhắc nhập một số, số này được lưu trong số biến.

Để lưu trữ tổng các số, chúng ta khai báo một biến tổng và khởi tạo nó với giá trị là 0.

Các whilevòng lặp tiếp tục cho đến khi người dùng nhập vào một số âm. Trong mỗi lần lặp, số do người dùng nhập được thêm vào biến tổng.

Khi người dùng nhập một số âm, vòng lặp kết thúc. Cuối cùng, tổng tổng được hiển thị.

C ++ do… Vòng lặp trong khi

Các do… whilevòng lặp là một biến thể của whilevòng lặp với một sự khác biệt quan trọng: cơ thể của do… whilevòng lặp được thực hiện một lần trước khi conditionđược kiểm tra.

Cú pháp của nó là:

 do ( // body of loop; ) while (condition);

Đây,

  • Phần thân của vòng lặp được thực thi lúc đầu. Sau đó, conditionđược đánh giá.
  • Nếu conditiongiá trị là thành true, phần thân của vòng lặp bên trong docâu lệnh được thực thi lại.
  • Các conditionđược đánh giá một lần nữa.
  • Nếu conditiongiá trị là thành true, phần thân của vòng lặp bên trong docâu lệnh được thực thi lại.
  • Quá trình này tiếp tục cho đến khi conditionđánh giá thành false. Sau đó, vòng lặp dừng lại.

Lưu đồ của do… while Loop

Lưu đồ của C ++ vòng lặp do… while

Ví dụ 3: Hiển thị các số từ 1 đến 5

 // C++ Program to print numbers from 1 to 5 #include using namespace std; int main() ( int i = 1; // do… while loop from 1 to 5 do ( cout << i << " "; ++i; ) while (i <= 5); return 0; )

Đầu ra

 1 2 3 4 5

Đây là cách chương trình hoạt động.

Lặp lại Biến đổi tôi <= 5 Hoạt động
i = 1 chưa được kiểm tra 1 được in và iđược tăng lên 2
Ngày 1 i = 2 true 2 được in và iđược tăng lên 3
lần 2 i = 3 true 3 được in và iđược tăng lên 4
lần thứ 3 i = 4 true 4 được in và iđược tăng lên 5
lần thứ 4 i = 5 true 5 được in và iđược tăng lên 6
ngày 5 i = 6 false Vòng lặp đã kết thúc

Ví dụ 4: Chỉ tổng các số dương

 // program to find the sum of positive numbers // If the user enters a negative number, the loop ends // the negative number entered is not added to the sum #include using namespace std; int main() ( int number = 0; int sum = 0; do ( sum += number; // take input from the user cout <> number; ) while (number>= 0); // display the sum cout << "The sum is " << sum << endl; return 0; )

Đầu ra 1

 Nhập số: 6 Nhập số: 12 Nhập số: 7 Nhập số: 0 Nhập số: -2 Tổng là 25

Here, the do… while loop continues until the user enters a negative number. When the number is negative, the loop terminates; the negative number is not added to the sum variable.

Output 2

 Enter a number: -6 The sum is 0.

The body of the do… while loop runs only once if the user enters a negative number.

Infinite while loop

If the condition of a loop is always true, the loop runs for infinite times (until the memory is full). For example,

 // infinite while loop while(true) ( // body of the loop )

Here is an example of an infinite do… while loop.

 // infinite do… while loop int count = 1; do ( // body of loop ) while(count == 1);

In the above programs, the condition is always true. Hence, the loop body will run for infinite times.

for vs while loops

A for loop is usually used when the number of iterations is known. For example,

 // This loop is iterated 5 times for (int i = 1; i <=5; ++i) ( // body of the loop )

Here, we know that the for-loop will be executed 5 times.

Tuy nhiên, whiledo… whilecác vòng lặp thường được sử dụng khi số lần lặp không xác định. Ví dụ,

 while (condition) ( // body of the loop )

Xem các ví dụ sau để tìm hiểu thêm:

  • Chương trình C ++ để hiển thị chuỗi Fibonacci
  • Chương trình C ++ để tìm GCD
  • Chương trình C ++ để tìm LCM

thú vị bài viết...