Pętla for jest pętlą typu wyliczeniowego, gdzie stosuje się licznik najczęściej w postaci liczby całkowitej int zmieniany o pewien stały krok dopóki nie zostanie spełniony z góry określony warunek zakończenia pętli. Przykładowy kod z użyciem pętli for podany został poniżej.
#include <iostream>
using namespace std;
int main(){
int s = 0;
cout<<"Podaj wartość obliczanej silni:";
cin>>s; // Wyczytywanie wartości, której silnia ma być obliczona
int silnia = 1; // zmienna do przechowywania obliczonej silni
for(int i = 1 /*od i = 1*/; i <= s /*do i<=s*/; i++/*z krokiem o 1*/){
silnia *= i; // mnożenie aktualnej wartości silni prze i
}
cout<<s<<"!="<<silnia; // wyświetlanie wyniku
cout<<"Wcisnij enter, aby zamknac program...";
cin.get();
return 0;
}
Krok może być dowolny, choć w powyższym przykładzie krok wynosił 1, to nic nie stoi na przeszkodzie aby zmienić go na dowolny inny np. poprzez użycie w kodzie następującego zapisu:
for(int i = 1 /*od i = 1*/; i <= s /*do i<=s*/; i--/*z krokiem o -1*/){
//instrukcje wewnętrzne
}
Dla kroku równym 10:
for(int i = 1 /*od i = 1*/; i <= s /*do i<=s*/; i+=10/*z krokiem o 10*/){
//instrukcje wewnętrzne
}
Istnieje też możliwość przerwania wykonywania danej pętli za pomocą słowa kluczowego break w następujący przykładowy sposób:
for (int i = 1; i < 10; i++)
{
cout<<i<<endl;
if (i == 4) // gdy i jest równe zero
break; // zakończ pętlę for
}
}
Można również pominąć w iteracji wykonanie jednej instrukcji poprzez wykorzystanie słowa kluczowego continue w następujący sposób:
for(int i = 1; i < 10; i++)
{
cout<<i<<endl;
if (i == 4) // gdy i jest równe zero
continue; // zakończ pętlę for
cout<<"=========="<<endl;
}
Możliwe jest również pominięcie nawiasów klamrowych gdy instrukcja mieści się w jednej linijce kodu:
for(int i = 0; i < 10; i++)
cout<<i+1<<endl;
Można również wykorzystać pętlę for w następujący sposób:
int i = 0;
for(;i < 10;){
cout<<i + 1<<endl;
i++;
}
chociaż nie jest to zalecane, bo do tego celu służy pętla while.
Można też całkowicie pominąć elementy nagłówka pętli for w sposób następujący:
int i = 0;
for(; ; )
{
if(i < 10){
cout<<i + 1<<endl;
i++;
}else
break;
}