Trong bài này, chúng ta sẽ tìm hiểu về vòng lặp for trong C # và các cách khác nhau để sử dụng chúng trong một chương trình.
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ẽ xem xét vòng lặp for trong C #.
C # cho vòng lặp
Các cho từ khóa được sử dụng để tạo vòng lặp for trong C #. Cú pháp của vòng lặp for là:
for (khởi tạo; điều kiện; trình lặp) (// nội dung của vòng lặp for)
Vòng lặp for hoạt động như thế nào?
- C # vòng lặp for có ba tuyên bố:
initialization
,condition
vàiterator
. - Câu
initialization
lệnh được thực hiện lúc đầu và chỉ một lần. Ở đây, biến thường được khai báo và khởi tạo. - Sau đó,
condition
được đánh giá. Làcondition
một biểu thức boolean, tức là nó trả về một trong haitrue
hoặcfalse
. - Nếu
condition
được đánh giá làtrue
:- Các câu lệnh bên trong vòng lặp for được thực thi.
- Sau đó,
iterator
câu lệnh được thực thi thường thay đổi giá trị của biến được khởi tạo. - Một lần nữa
condition
được đánh giá. - Quá trình tiếp tục cho đến khi
condition
được đánh giá làfalse
.
- Nếu
condition
được đánh giá làfalse
, vòng lặp for sẽ kết thúc.
cho Lưu đồ vòng lặp
Ví dụ 1: C # cho Vòng lặp
using System; namespace Loop ( class ForLoop ( public static void Main(string() args) ( for (int i=1; i<=5; i++) ( Console.WriteLine("C# For Loop: Iteration (0)", 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
Trong chương trình này,
initialization
tuyên bố làint i=1
condition
tuyên bố lài<=5
iterator
tuyên bố lài++
Khi chương trình chạy,
- Đầu tiên, biến i được khai báo và khởi tạo là 1.
- Sau đó, điều kiện (
i<=5
) được đánh giá. - Kể từ khi, điều kiện trả về
true
, chương trình sau đó thực thi phần thân của vòng lặp for. Nó in dòng đã cho với Lặp lại 1 (Lặp lại đơn giản có nghĩa là lặp lại). - Bây giờ, trình lặp (
i++
) được đánh giá. Điều này làm tăng giá trị của i lên 2. - Điều kiện (
i<=5
) được đánh giá lại và khi kết thúc, giá trị của i được tăng thêm 1. Điều kiện sẽ đánh giátrue
trong 5 lần đầu tiên. - Khi giá trị của i sẽ là 6 và điều kiện sẽ là
false
, do đó vòng lặp sẽ kết thúc.
Ví dụ 2: Vòng lặp for để tính tổng của n số tự nhiên đầu tiên
using System; namespace Loop ( class ForLoop ( public static void Main(string() args) ( int n = 5,sum = 0; for (int i=1; i<=n; i++) ( // sum = sum + i; sum += i; ) Console.WriteLine("Sum of first (0) natural numbers = (1)", n, sum); ) ) )
Khi chúng tôi chạy chương trình, kết quả đầu ra sẽ là:
Tổng của 5 số tự nhiên đầu tiên = 15
Ở đây, giá trị của sum và n được khởi tạo lần lượt là 0 và 5. Biến lặp i được khởi tạo thành 1 và tăng dần trên mỗi lần lặp.
Bên trong vòng lặp for, giá trị của tổng được tăng lên bởi i tức là sum = sum + i
. Vòng lặp for tiếp tục cho đến khi i nhỏ hơn hoặc bằng n (đầu vào của người dùng).
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 và n = 3
Đối với các bước thực hiện vòng lặpLặ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 khi n = 5.
Nhiều biểu thức bên trong vòng lặp for
Chúng ta cũng có thể sử dụng nhiều biểu thức bên trong vòng lặp for. Nó có nghĩa là chúng ta có thể có nhiều hơn một câu lệnh khởi tạo và / hoặc trình lặp trong vòng lặp for. Hãy xem ví dụ dưới đây.
Ví dụ 3: Vòng lặp for với nhiều biểu thức khởi tạo và trình lặp
using System; namespace Loop ( class ForLoop ( public static void Main(string() args) ( for (int i=0, j=0; i+j<=5; i++, j++) ( Console.WriteLine("i = (0) and j = (1)", i,j); ) ) ) )
Khi chúng tôi chạy chương trình, kết quả đầu ra sẽ là:
i = 0 và j = 0 i = 1 và j = 1 i = 2 và j = 2
Trong chương trình này, chúng ta đã khai báo và khởi tạo hai biến: i và j trong câu lệnh khởi tạo.
Ngoài ra, chúng ta có hai biểu thức trong phần trình lặp. Điều đó có nghĩa là cả i và j đều được tăng thêm 1 trên mỗi lần lặp.
Vòng lặp for không có lệnh khởi tạo và trình lặp
Khởi tạo, điều kiện và câu lệnh trình lặp là tùy chọn trong vòng lặp for. Nó có nghĩa là chúng ta có thể chạy một vòng lặp for mà không cần các câu lệnh này.
Trong những trường hợp như vậy, vòng lặp for hoạt động như một vòng lặp while. Hãy xem ví dụ dưới đây.
Ví dụ 4: Vòng lặp for không cần khởi tạo và câu lệnh lặp
using System; namespace Loop ( class ForLoop ( public static void Main(string() args) ( int i = 1; for ( ; 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
Trong ví dụ này, chúng tôi đã không sử dụng câu lệnh khởi tạo và trình lặp.
Biến i được khởi tạo bên trên vòng lặp for và giá trị của nó được tăng lên bên trong phần thân của vòng lặp. Chương trình này giống như chương trình trong Ví dụ 1.
Tương tự, điều kiện cũng là một câu lệnh tùy chọn. Tuy nhiên, nếu chúng ta không sử dụng biểu thức kiểm tra, vòng lặp for sẽ không kiểm tra bất kỳ điều kiện nào và sẽ chạy mãi mãi (vòng lặp vô hạn).
Vòng lặp for vô hạn
Nếu điều kiện trong vòng lặp for luôn đúng, vòng lặp for sẽ chạy mãi mãi. Đây được gọi là vòng lặp for vô hạn.
Ví dụ 5: Vòng lặp for vô hạn
using System; namespace Loop ( class ForLoop ( public static void Main(string() args) ( for (int i=1 ; i>0; i++) ( Console.WriteLine("C# For Loop: Iteration (0)", i); ) ) ) )
Ở đây, tôi được khởi tạo thành 1 và điều kiện là i>0
. Trên mỗi lần lặp, chúng ta đang tăng giá trị của i lên 1, vì vậy điều kiện sẽ không bao giờ có false
. Điều này sẽ làm cho vòng lặp thực thi vô hạn.
Chúng ta cũng có thể tạo một vòng lặp vô hạn bằng cách thay thế điều kiện bằng một khoảng trống. Ví dụ,
for (;;) (// phần thân của vòng lặp for)
hoặc là
for (khởi tạo;; trình lặp) (// phần thân của vòng lặp for)