Vòng lặp for trong C / C++
Trong bài viết này, codehow sẽ giới thiệu đến các bạn vòng lặp for trong C / C++. Đây là kiến thức cơ bản khi bắt đầu học bất kỳ ngôn ngữ lập trình nào.
Vòng lặp for được sử dụng trong trường hợp chúng ta muốn lặp đi lặp lại một hành động nào đó. Có thể là biết trước số lần lặp hoặc có thể là lặp vô hạn.
Ví dụ: Buổi sáng mọc trời mọc và buổi chiều tối thì mặt trời lặn, hành động này được lặp đi lặp lại vô hạn.
Ví dụ: Cô giáo bắt chúng ta đọc bài ba lần, thì khi đó hành động đọc bài được lặp đi lặp lại ba lần.
Trên đây là ví dụ thực tế ngoài đời sống sử dụng vòng lặp, vậy trong ngôn ngữ C / C++ vòng lặp được sử dụng như thế nào thì các bạn cùng mình tìm hiểu ngay thôi nhé.
Cấu trúc vòng lặp for trong C / C++
Vòng lặp for là một cấu trúc lặp được sử dụng nhiều nhất trong C / C++, hầu hết trong các chương trình xử lý đều dùng vòng lặp for.
Với vòng lặp for chúng ta có thể lặp với số lần vô hạn hoặc có thể lặp với số lần biết trước. Tuy nhiên các lập trình viên thường sử dụng vòng lặp for với số lần lặp biết trước.
Cú pháp vòng lặp for:
for (init-statement; condition-expression; end-expression) { statements; }
Trong đó:
- init-statement: Trong phần này ta định nghĩa và khởi tạo biến và được thực thi một lần duy nhất trong vòng lặp.
- condition-expression: Trong phần này bao gồm các biểu thức điều kiện, nếu biểu thức điều kiện đúng thì các câu lệnh trong vòng lặp được thực hiện.
- end-expression: Phần này được thực thi mỗi cuối vòng lặp. Sau khi vòng lặp đầu tiên được thi, phần này sẽ tăng hoặc giảm các giá trị trong vòng lặp và quay lại thực hiện vòng lặp thứ hai.
Ví dụ: Mình sẽ thực hiện chương trình hiển thị từ số 0 đến số 9. Mình sẽ đưa ra hai chương trình có sử dụng vòng lặp for và không sử dụng vòng lặp for để các bạn có thể so sánh.
Không sử dụng vòng lặp for:
#include <iostream> using namespace std; int main() { cout<<0<<endl; cout<<1<<endl; cout<<2<<endl; cout<<3<<endl; cout<<4<<endl; cout<<5<<endl; cout<<6<<endl; cout<<7<<endl; cout<<8<<endl; cout<<9<<endl; cout<<"\n--------------------------\n"; cout<<"Chuong trinh nay duoc dang tai codehow.net"; return 0; }
Sử dụng vòng lặp for:
#include <iostream> using namespace std; int main() { for(int i = 0; i <= 9; i++){ cout<<i<<endl; } cout<<"\n--------------------------\n"; cout<<"Chuong trinh nay duoc dang tai codehow.net"; return 0; }
Kết quả: Với hai chương trình trên thì có chung một kết quả dưới đây.
Như các bạn thấy thì việc sử dụng vòng lặp for gọn hơn rất nhiều so với việc hiển thị bình thường.
Vòng lặp for lồng nhau trong C / C++
Khi trong vòng lặp for này có một hoặc nhiều vòng lặp for khác thì được gọi là các vòng lặp for lồng nhau.
Trong trường hợp chúng ta muốn lặp lại hành động này dựa vào hành động kia mới sử dụng vòng for lồng nhau. Còn bình thường chúng ta không nên sử dụng bởi nó làm chậm chương trình vì lặp quá nhiều lần.
Hãy cùng xem ví dụ dưới đây để hiểu rõ hơn nhé.
#include <iostream> using namespace std; int main() { for(int i = 1; i <= 3; i++){ for(int j = 1;j <= 3; j++){ cout<<"i = "<< i <<", j = "<< j<<endl; } } cout<<"\n--------------------------\n"; cout<<"Chuong trinh nay duoc dang tai codehow.net"; return 0; }
Kết quả:
Vòng lặp for vô hạn trong C / C++
Vòng lặp for vô hạn nghĩa là hành động đó sẽ được lặp đi lặp lại đến khi chúng ta tắt chương trình. Nó không có điều kiện dừng lại hoặc điều kiện đó luôn đúng khiến nó lặp vô hạn.
Mình sẽ đưa ra hai ví dụ với hai trường hợp khác nhau để các bạn có thể so sánh. Cụ thể là một chương trình sẽ thực hiện vòng lặp for không có điều kiện dừng lại và một chương trình với điều kiện luôn đúng.
Ví dụ 1:
#include <iostream> using namespace std; int main() { for(;;){ cout<<"Vong lap vo han."; } cout<<"\n--------------------------\n"; cout<<"Chuong trinh nay duoc dang tai codehow.net"; return 0; }
Ví dụ 2:
#include <iostream> using namespace std; int main() { for(int i = 5;i >= 0; i++){ cout<<"Vong lap vo han."; } cout<<"\n--------------------------\n"; cout<<"Chuong trinh nay duoc dang tai codehow.net"; return 0; }
Kết quả:
Vòng lặp for bị khuyết các tham số trong C / C++
Trong vòng lặp for cho phép chúng ta để trống các phần trong vòng lặp, tùy vào bài toán mà chúng ta có thể bỏ trống 1, 2 hoặc cả 3 luôn nhé.
Hay cùng xem ví dụ dưới đây, mình chia ra từng trường hợp khuyết các phần để các bạn có thể so sánh.
#include <iostream> using namespace std; int main() { int i = 1; cout << "Vong lap for thieu tham so thu nhat: " << endl; for(;i<=3;i++){ cout << "Gia tri bien i = " << i << "\n"; } cout << "Vong lap for thieu tham so thu ba: " << endl; for(int j = 1;j <= 3;) { cout << "Gia tri bien j = " << j << "\n"; j++; } cout << "Vong lap for thieu tham so thu nhat va thu 3: " << endl; int z = 1; for(;z <= 3;) { cout << "Gia tri bien z = " << z << "\n"; z++; } cout<<"\n--------------------------\n"; cout<<"Chuong trinh nay duoc dang tai codehow.net"; return 0; }
Kết quả:
Vòng lặp for với nhiều thành phần
Trái với việc vòng lặp for có thể bị khuyết các thành phần, thì vòng lặp for cũng cho phép chúng ta khai báo khởi tạo nhiều thành phần nữa nhé.
Hãy cùng xem ví dụ dưới đây để hiểu rõ hơn.
#include <iostream> using namespace std; int main() { for (int i = 2, j = 3; i + j < 20; i++, j++) { cout << i << " + " << j << " = " << (i + j) << '\n'; } cout<<"\n--------------------------\n"; cout<<"Chuong trinh nay duoc dang tai codehow.net"; return 0; }
Kết quả:
Ví dụ sử dụng vòng lặp for trong C / C++
Trong bài viết này mình sẽ thực hiện hai ví dụ sử dụng vòng lặp for bằng hai ngôn ngữ khác nhau là C và C++. Các bạn cùng theo dõi nhé.
Ví dụ 1: Hiển thị bảng cửu chương bằng ngôn ngữ C.
#include <stdio.h> int main () { int a; printf("Nhap vao ban cuu chuong ban muon hien thi: "); scanf("%d", &a); printf("Ban cuu chuong %d\n", a); for(int i = 1; i <= 9; i++){ printf("%d x %d = %d\n",a,i,a * i); } printf("\n------------------------------\n"); printf("Chuong trinh nay duoc dang tai Codehow.net"); return 0; }
Kết quả:
Ví dụ 2: Hiển thị các phần tử trong mảng bằng ngôn ngữ C++.
#include <iostream> using namespace std; int main() { int numbers[6] = {1, 4, 5, 2, 9, 20}; cout<<"Cac phan tu trong mang la: "; for (int i = 0; i < 6; i++){ cout << numbers[i] << " "; } cout<<"\n--------------------------\n"; cout<<"Chuong trinh nay duoc dang tai codehow.net"; return 0; }
Kết quả:
Lời kết
Như vậy là chúng ta đã cùng nhau tìm hiểu về vòng lặp for trong C / C++. Vòng lặp for được sử dụng rất nhiều khi lập trình, vì vậy các bạn hãy luyện tập thật nhiều để sử dụng nó một cách thành thạo nhé. Ở bài tiếp theo mình sẽ giới thiệu đến các bạn vòng lặp while trong C / C++, hay chú ý theo dõi nhé.