Cú Pháp Và Cách Sử Dụng Vòng Lặp For Trong C++ - Góc Học IT

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:

Lần lặpBiến iĐiều kiện lặp i<=5Thực thi
1i=1trueIn ra 1 và tăng i lên 2
2i=2trueIn ra 2 và tăng i lên 3
3i=3trueIn ra 3 và tăng i lên 4
4i=4trueIn ra 4 và tăng i lên 5
5i=5trueIn ra 5 và tăng i lên 6
6i=6falseVòng lặp chấm dứt

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.

  • Giả lập điều khiển đèn tín hiệu giao thông có nút bấm với Arduino
  • Khai báo và khởi tạo mảng 1 chiều (one dimensional array) trong Java
  • Danh sách liên kết (Linked List) là gì? Các loại danh sách liên kết
  • Cấu trúc rẽ nhánh if…else trong PHP
  • Kết nối cơ sở dữ liệu MySQL với PHP sử dụng PDO
5/5 - (18 bình chọ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++ >>

Từ khóa » Trong Python Cấu Trúc Lặp Có điều Kiện Có Dạng Nào