Vòng lặp while và do ... while trong C # (Với các ví dụ)

Trong bài này, chúng ta sẽ tìm hiểu về vòng lặp while và do… while trong C #, cách sử dụng chúng và sự khác biệt giữa chúng.

Trong lập trình, người ta thường muốn thực hiện một số khối lệnh nhất định trong một số lần xác định. Một giải pháp khả thi là gõ các câu lệnh đó với số lần cần thiết. Tuy nhiên, số lần lặp lại có thể không được biết trước (trong thời gian biên dịch) hoặc có thể đủ lớn (giả sử 10000).

Giải pháp tốt nhất cho vấn đề này là vòng lặp. Vòng lặp được sử dụng trong lập trình để thực thi lặp đi lặp lại một khối câu lệnh nhất định cho đến khi đáp ứng một số điều kiện.

Trong bài viết này, chúng ta sẽ học cách sử dụng vòng lặp while trong C #.

Vòng lặp while trong C #

Các khi từ khóa được sử dụng để tạo vòng lặp while trong C #. Cú pháp của vòng lặp while là:

 while (test-expression) (// body of while) 

Vòng lặp while hoạt động như thế nào?

  1. Vòng lặp while trong C # bao gồm a test-expression.
  2. Nếu test-expressionđược đánh giá là true,
    1. các câu lệnh bên trong vòng lặp while được thực thi.
    2. sau khi thực hiện, test-expressionđược đánh giá lại.
  3. Nếu test-expressionđược đánh giá là false, vòng lặp while kết thúc.

Lưu đồ vòng lặp while

Ví dụ 1: Vòng lặp while

 using System; namespace Loop ( class WhileLoop ( public static void Main(string() args) ( int i=1; while (i<=5) ( Console.WriteLine("C# For Loop: Iteration (0)", i); i++; ) ) ) ) 

Khi chúng tôi chạy chương trình, kết quả đầu ra sẽ là:

 C # For Loop: Lặp lại 1 C # For Loop: Lặp lại 2 C # For Loop: Lặp lại 3 C # For Loop: Lặp lại 4 C # For Loop: Lặp lại 5

Ban đầu giá trị của i là 1.

Khi chương trình đến câu lệnh vòng lặp while,

  • biểu thức kiểm tra i <=5được đánh giá. Vì i là 1 và 1 <= 5true, nó thực thi phần thân của vòng lặp while. Ở đây, dòng được in trên màn hình với Lặp lại 1 và giá trị của i được tăng 1 để trở thành 2.
  • Bây giờ, biểu thức kiểm tra ( i <=5) được đánh giá một lần nữa. Lần này, biểu thức trả về true(2 <= 5), vì vậy dòng được in trên màn hình và giá trị của i bây giờ được tăng lên 3…
  • Điều này diễn ra và vòng lặp while thực hiện cho đến khi tôi trở thành 6. Tại thời điểm này, biểu thức kiểm tra sẽ đánh giá falsevà do đó vòng lặp kết thúc.

Ví dụ 2: Vòng lặp while để tính tổng của 5 số tự nhiên đầu tiên

 using System; namespace Loop ( class WhileLoop ( public static void Main(string() args) ( int i=1, sum=0; while (i<=5) ( sum += i; i++; ) Console.WriteLine("Sum = (0)", sum); ) ) ) 

Khi chúng tôi chạy chương trình, kết quả đầu ra sẽ là:

 Tổng = 15

Chương trình này tính tổng của 5 số tự nhiên đầu tiên.

  • Ban đầu giá trị của tổng được khởi tạo bằng 0.
  • Trên mỗi lần lặp, giá trị của tổng được cập nhật sum+ivà giá trị của i được tăng thêm 1.
  • Khi giá trị của i đạt đến 6, biểu thức kiểm tra i<=5sẽ trả về false và vòng lặp kết thúc.

Hãy xem điều gì sẽ xảy ra trong chương trình đã cho trên mỗi lần lặp.

Ban đầu, i = 1, sum = 0

Các bước thực hiện vòng lặp While
Lặp lại Giá trị của tôi tôi <= 5 Giá trị của tổng
1 1 thật 0 + 1 = 1
2 2 thật 1 + 2 = 3
3 3 thật 3 + 3 = 6
4 4 thật 6 + 4 = 10
5 5 thật 10 + 5 = 15
6 6 sai Vòng lặp kết thúc

Vì vậy, giá trị cuối cùng của tổng sẽ là 15.

C # do… vòng lặp while

Các làmkhi từ khóa được sử dụng để tạo ra một do … while. Nó tương tự như vòng lặp while, tuy nhiên có sự khác biệt lớn giữa chúng.

Trong vòng lặp while, điều kiện được kiểm tra trước khi phần thân được thực thi. Nó hoàn toàn ngược lại trong vòng lặp do… while, tức là điều kiện được kiểm tra sau khi phần thân được thực thi.

Đây là lý do tại sao, phần thân của vòng lặp do… while sẽ thực thi ít nhất một lần bất kể biểu thức kiểm tra.

Cú pháp của vòng lặp do… while là:

 do (// phần thân của vòng lặp do while) while (test-biểu thức); 

Làm thế nào để… vòng lặp while hoạt động?

  1. Phần thân của vòng lặp do… while được thực thi lúc đầu.
  2. Sau đó, test-expressionđược đánh giá.
  3. Nếu test-expressiontrue, phần thân của vòng lặp được thực thi.
  4. Khi vòng lặp test-expressionis false, do… while kết thúc.

Lưu đồ vòng lặp do… while

Ví dụ 3: vòng lặp do… while

 using System; namespace Loop ( class DoWhileLoop ( public static void Main(string() args) ( int i = 1, n = 5, product; do ( product = n * i; Console.WriteLine("(0) * (1) = (2)", n, i, product); i++; ) while (i <= 10); ) ) ) 

Khi chúng tôi chạy chương trình, kết quả đầu ra sẽ là:

 5 * 1 = 5 5 * 2 = 10 5 * 3 = 15 5 * 4 = 20 5 * 5 = 25 5 * 6 = 30 5 * 7 = 35 5 * 8 = 40 5 * 9 = 45 5 * 10 = 50

As we can see, the above program prints the multiplication table of a number (5).

  • Initially, the value of i is 1. The program, then enters the body of do… while loop without checking any condition (as opposed to while loop).
  • Inside the body, product is calculated and printed on the screen. The value of i is then incremented to 2.
  • After the execution of the loop’s body, the test expression i <= 10 is evaluated. In total, the do… while loop will run for 10 times.
  • Finally, when the value of i is 11, the test-expression evaluates to false and hence terminates the loop.

Infinite while and do… while loop

If the test expression in the while and do… while loop never evaluates to false, the body of loop will run forever. Such loops are called infinite loop.

For example:

Infinite while loop

 while (true) (// nội dung của vòng lặp while) 

Vòng lặp do… while vô hạn

 do (// phần thân của vòng lặp while) while (true); 

Vòng lặp vô hạn rất hữu ích khi chúng ta cần một vòng lặp để chạy miễn là chương trình của chúng ta chạy.

Ví dụ: nếu chương trình của bạn là hoạt ảnh, bạn sẽ cần phải liên tục chạy nó cho đến khi nó dừng lại. Trong những trường hợp như vậy, một vòng lặp vô hạn là cần thiết để tiếp tục chạy hoạt ảnh liên tục.

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