Qua bài viết này Wonderkids xin chia sẻ với các bạn thông tin và kiến thức về Vòng lặp for hay nhất và đầy đủ nhất
Giải sử, cần viết chương trình xuất các số từ 1 đến 10. Đơn giản là sử dụng 10 câu lệnh cout<<. Nhưng cần viết chương trình xuất các số từ 1 đến 1000. Sử dụng 1000 câu lệnh cout<< thì sẽ là một pha xử lý thật “cồng kềnh”.
Giải pháp là sử dụng cấu trúc lặp để thực hiện các công việc mang tính lặp lại khi thỏa mãn điều kiện nào đó. Có 3 lệnh lặp trong C++ là for, while, do…while. Bài này sẽ giới thiệu cách sử dụng vòng lặp for.
1. Cú pháp vòng lặp for
Cho phép thực hiện công việc lặp đi lặp lại nhiều lần với số lần lặp có thể xác định trước.
for (<khởi đầu>; <điều kiện lặp>; <bước nhảy>) { //code block }
Nguyên lý hoạt động của vòng lặp for như sau:
<khởi đầu> khởi tạo giá trị của biến và chỉ thực thi một lần duy nhất. Sau đó, nếu <điều kiện lặp> đúng (true) thì thực thi các dòng lệnh trong vòng lặp for. Nếu <điều kiện lặp> sai (false) thì kết thúc vòng lặp.
<bước nhảy> sẽ thay đổi giá trị của biến lúc <khởi đầu>. Giá trị của biến này sẽ được kiểm tra lại (kiểm tra <điều kiện lặp>) sau mỗi lần lặp.
Chương trình C++ in ra số từ 1 đến 5 sử dụng vòng lặp for
#include <iostream> using namespace std; int main() { for (int i = 1; i <= 5; ++i) { cout << i << ” “; } return 0; }
Kết quả
1 2 3 4 5
Chương trình trên thực hiện các lần lặp trong for như sau:
2. Một số lưu ý khi sử dụng for
Câu lệnh for có thể lồng nhau
if (n < 10 && m < 20) { for (int i = 0; i < n; i++) { for (int j = 0; j < m; j++) { cout<<i + j<<endl; } } }
Trong câu lệnh for, có thể sẽ không có phần <khởi đầu>
int i; for (i = 0; i < 10; i++){//có khởi tạo biến i=0 cout<<i<<endl; } int i = 0; for (; i < 10; i++){//không cần khởi tạo biến i cout<<i<<endl; }
Trong câu lệnh for, có thể sẽ không có phần <bước nhảy>
int i; for (i = 0; i < 10; i++){//có bước nhảy cout<<i<<endl; } for (i = 0; i < 10; )//không có bước nhảy { cout<<i<<endl; i++; }
Trong câu lệnh for, có thể sẽ không có phần <điều kiện lặp>
int i; for (i = 0; i < 10; i++){//có điều kiện lặp cout<<i<<endl; } for (i = 0; ; i++){//không có điều kiện lặp, bị lặp vô hạn cout<<i<<endl; } for (i = 0; ; i++){//không có điều kiện lặp if (i >= 10) break;//thoát vòng lặp for cout<<i<<endl; }
Không được thêm ; ngay sau lệnh for
for (i = 0; i < 10; i++);//không được có ; ở đây { cout<<i<<endl; } for (i = 0; i < 10; i++) { };//không được có ; ở đây { cout<<i<<endl; }
Các thành phần chính gồm <khởi đầu>, <điều kiện lặp>, <bước nhảy> cách nhau bằng dấu ; Nếu có nhiều thành phần con trong mỗi thành phần chính thì được cách nhau bằng dấu ,
for (int i = 1, j = 2; i + j < 10; i++, j += 2){ cout<<i + j<<endl; }
Lưu ý: <điều kiện lặp> trong for nên giới hạn rõ ràng để tránh trường hợp lặp vô hạn.
Bài trước và bài sau trong môn học<< Sử dụng vòng lặp do while và sự khác nhau với whileCách sử dụng câu lệnh break, continue và go to trong C++ >>
Bản quyền nội dung thuộc wonderkidsmontessori.edu.vn
Bài viết liên quan