Cấu trúc lặp for là cấu trúc lặp có số lần lặp biết trước. Kiểu dữ liệu của biến chạy là kiểu đếm được.

Cú pháp:

for (thiết lập ban đầu; điều kiện lặp; bước tăng/giảm)
{
   khối lệnh;
}

Trong đó:

  • Thiết lập ban đầu: là set giá trị biến chạy bắt đầu chạy vòng lặp.
  • Điều kiện lặp: là biểu thức logic, khi điều kiện còn đúng thì vòng lặp còn thực thi
  • Bước tăng/giảm: là giá trị biến chạy vòng lặp chạy xuôi hay vòng lặp chạy ngược.

Ví dụ 1

  • Yêu cầu: Tính tổng các số từ 1 đến n, với n nhập vào từ bàn phím
  • Code
#include <iostream>
#include <conio.h>

using namespace std;

int main() {
   int n;
   // nhap n
   cout<<"\n n = ";
   cin>>n;
   // tinh tong
   int s = 0;
   for(int i=0; i<=n; i++)
     s = s+i;
   // in ket qua
   cout<<"\n Tong = "<<s;

   return 0;  
}

Ví dụ 2

  • Yêu cầu: Đếm số chẵn nhỏ hơn n, với n nhập vào từ bàn phím.
  • Code
#include <iostream>
#include <conio.h>

using namespace std;

int main() {
   int n;
   // nhap n
   cout<<"\n n = ";
   cin>>n;
   // dem so chan
   int dem = 0;
   for(int i=0;i<=n;i++)
       if (i%2==0) dem++;
   // in ket qua
   cout<<"\n Ket qua = "<<dem;
   
   return 0;
}

Ví dụ 3

  • Yêu cầu: In ra màn hình tất cả số nguyên gồm 4 chữ sao cho tổng các chữ số bằng 10.
  • Code
#include <iostream>
#include <conio.h>

using namespace std;

int main() {
   cout<<"In ket qua:\n";
   for(int i=1000;i<=9999;i++)
   {
     if(i%10+(i/10)%10+(i/100)%10+i/1000==10)
       cout<<i<<";\t";
   }

   return 0;
}

 

Ví dụ 4

  • Yêu cầu: In ra màn hình bảng cửu chương.
  • Code
#include <iostream>
#include <conio.h>

using namespace std;

int main() {
   cout<<"In bang cuu chuong: \n";
   for(int i=1;i<=9;i++)
   {
      for(int j=1;j<9;j++)
         cout<<i<<"x"<<j<<"= "<<i*j<<";\t";
      cout<<"\n";
   }

   return 0;
}

Ví dụ 5

  • Yêu cầu: In ra màn hình tất cả số nguyên tố nhỏ hơn 1000.
  • Code
#include <iostream>
#include <conio.h>

using namespace std;

int main() {
   cout<<"In so nguyen to nho hon 1000: \n";
   for(int i=1;i<=1000;i++)
   {
     int test = 0;
       for(int j=2;j<i;j++)
       if(i%j==0) {
         test=1;
         break;
       }
     if(test==0) cout<<i<<";\t";
   }

   return 0;
}