Chào mừng các bạn đến với bài viết hôm nay! Trong bài học trước, chúng ta đã tìm hiểu về vòng lặp DO WHILE TRONG c+ + (Câu lệnh Do-While). Vòng lặp do-while được thực thi ít nhất một lần trước khi kiểm tra điều kiện. Hôm nay, chúng ta sẽ khám phá vòng lặp thứ 3, cũng là một cấu trúc vòng lặp phổ biến nhất trong ngôn ngữ C++, đó chính là vòng lặp for trong c++ (Câu lệnh For).
Vòng lặp For trong C++ (Câu lệnh For)
Vòng lặp for là một cấu trúc lặp được sử dụng rất phổ biến trong ngôn ngữ C++, có khả năng thay thế hoàn toàn cho vòng lặp while. lập trình viên thường sử dụng vòng lặp for khi số lần lặp của vòng lặp được biết trước.
Cú pháp của vòng lặp for như sau:
for (init-statement; condition-expression; end-expression) { statements; }
Để dễ hiểu, vòng lặp for tương đương với vòng lặp while như sau:
{ // lưu ý khối lệnh ở đây init-statement; while (condition-expression) { statements; end-expression; } } // biến được định nghĩa trong vòng lặp sẽ ra khỏi phạm vi ở đây
Nguyên tắc hoạt động của vòng lặp for gồm 3 bước thực thi:
- init-statement: phần này có mục đích định nghĩa và khởi tạo biến, chỉ được thực thi 1 lần duy nhất trong lần lặp đầu tiên.
- condition-expression: phần này gồm các biểu thức điều kiện, nếu biểu thức điều kiện đúng, các câu lệnh trong vòng lặp sẽ được thực thi.
- end-expression: phần này được thực thi cuối mỗi lần lặp, sau khi các câu lệnh trong vòng lặp for được thực thi. Phần này thường có mục đích tăng hoặc giảm giá trị các biến vòng lặp. Sau khi thực thi xong, vòng lặp quay lại kiểm tra điều kiện lặp ở bước 2.
Dưới đây là một ví dụ sử dụng vòng lặp for để in ra các số từ 0 đến 9:
for (int count = 0; count 10; ++count) { cout count " "; }
Ví dụ trên có thể được chuyển về vòng lặp while như sau:
{ int count = 0; while (count 10) { cout count " "; ++count; } }
Kết quả sẽ là: 0 1 2 3 4 5 6 7 8 9
Trong ví dụ trên, vòng lặp for và while tương đương nhau, nhưng cách trình bày của vòng lặp while dài và phức tạp hơn. Cặp dấu ngoặc nhọn bên ngoài vòng lặp while là bắt buộc, vì biến count có phạm vi vòng lặp, nó sẽ bị hủy khi vòng lặp kết thúc.
Dưới đây là một số ví dụ khác về vòng lặp for:
#include using namespace std; int main() { for (int i = 10; i > 0; i--) { cout i ' '; } // Output: 10 9 8 7 6 5 4 3 2 1 for (int i = 10; i 20; i = i + 2) { cout i ' '; } // Output: 10 12 14 16 18 return 0; }
Lược bỏ các thành phần trong vòng lặp for
Vòng lặp for cho phép bỏ qua một hoặc tất cả các thành phần nếu không sử dụng chúng.
Ví dụ: dưới đây là chương trình in ra các số từ 0 đến 9:
#include using namespace std; int main() { int count = 0; for (; count 10; ) { cout count " "; ++count; } return 0; }
Kết quả sẽ là: 0 1 2 3 4 5 6 7 8 9
Trong ví dụ trên, biến vòng lặp được khởi tạo bên ngoài và được tăng giá trị bên trong vòng lặp. Phần khởi tạo và cập nhật giá trị của vòng lặp được để trống.
Không giống như những vòng lặp khác, vòng lặp for có thể bỏ qua cả 3 thành phần, điều này sẽ tạo ra một vòng lặp vô hạn:
for (;;) { cout "vòng lặp vô hạn"; }
Cấu trúc trên tương đương với:
while (true) { cout "vòng lặp vô hạn"; }
Ví dụ về vòng lặp for vô hạn:
for (;;) { cout "vòng lặp vô hạn"; }
Nhiều thành phần trong mỗi phần của vòng lặp for
Trong trường hợp vòng lặp for cần làm việc với nhiều biến, có nhiều điều kiện dừng, hoặc có nhiều biến cần cập nhật giá trị, lập trình viên có thể sử dụng toán tử phẩy “,” để thêm nhiều thành phần trong mỗi phần.
Ví dụ:
#include using namespace std; int main() { for (int i = 5, j = 10; i + j 20; i++, j++) { cout i " + " j " = " (i + j) '\n'; } return 0; }
Kết quả sẽ là:
5 + 10 = 15 6 + 11 = 17
Trong ví dụ trên, vòng lặp for có thể khai báo 2 biến i và j, sau đó cập nhật giá trị i và j sau mỗi lần lặp.
Lưu ý: các biến khai báo trong phần init-statement phải có cùng kiểu dữ liệu, cách nhau bởi dấu phẩy “,”.
Vòng lặp lồng nhau (Nested for loops)
Tương tự như những vòng lặp khác, vòng lặp for có thể lồng vào trong một vòng lặp khác.
Ví dụ:
#include using namespace std; int main() { for (int i = 0; i = 5; i++) { for (int j = 0; j = i; j++) { cout j ' '; } cout endl; } return 0; }
Kết quả sẽ là:
0 0 1 0 1 2 0 1 2 3 0 1 2 3 4 0 1 2 3 4 5
Như vậy là chúng ta đã tìm hiểu về Vòng lặp For trong C++ (Câu lệnh For). Vòng lặp for là một cấu trúc lặp được sử dụng rất phổ biến trong ngôn ngữ C++, có khả năng thay thế hoàn toàn cho vòng lặp while. Lập trình viên thường sử dụng vòng lặp for khi số lần lặp của vòng lặp được biết trước.
Trong bài tiếp theo, chúng ta sẽ tìm hiểu về 2 từ khóa liên quan mật thiết với cấu trúc vòng lặp, đó là Từ khóa BREAK & CONTINUE.
Cảm ơn các bạn đã theo dõi bài viết. Hãy để lại bình luận hoặc góp ý của mình để phát triển bài viết tốt hơn. Đừng quên "Luyện tập - Thử thách - Không ngại khó".
Nếu bạn có bất kỳ khó khăn hoặc thắc mắc nào về khóa học, đừng ngần ngại đặt câu hỏi trong phần BÌNH LUẬN bên dưới hoặc trong mục HỎI & ĐÁP trên thư viện Howkteam.com để nhận được sự hỗ trợ từ cộng đồng.