Kolejną instrukcją umożliwiającą wielokrotne powtarzanie określonych poleceń jest pętla for. Edytujmy plik for.c, aby przekonać się, że nie jest to nic strasznego.
Pętla for składa się z zastrzeżonego słowa for, po którym następuje złożone wyrażenie w nawiasach okrągłych. Składa się z trzech części oddzielonych od siebie średnikami. W naszym przykładzie w pierwszej z nich znajduje się przypisanie licznik = 0; jest to pole inicjalizacji pętli. Kod w nim zawarty jest wykonywany jeszcze przed pierwszym obiegiem pętli.
W omawianym polu może być wpisane złożone wyrażenie, również więcej niż jedna instrukcja (separujemy je wówczas od siebie przecinkami). Jednak dobrą zasadą jest zwięzłość zapisu i prostota wyrażenia.
Po średniku następuje wyrażenie warunkowe; jest wykonywane na początku każdego obiegu pętli. Musi ono - podobnie jak wyrażenie warunkowe w pętlach while i do-while - zwracać wartość prawdziwą (true) lub fałszywą (false). W naszym przykładzie każdorazowo przed wejściem w pętle sprawdzana jest prawdziwość wyrażenia licznik < 6 (za zmienną licznik podstawiana jest jej aktualna wartość). Pętla jest wykonywana dopóki zmienna licznik będzie mniejsza od sześciu.
Ostatnim poleceniem w programie jest licznik++. Jest to skrócony zapis instrukcji przypisania postaci: licznik = licznik + 1. Wykonywanie tej instrukcji następuje po każdorazowym obiegu pętli (tzn. za ostatnią instrukcją w jej ciele). To pole może zawierać kilka operacji oddzielonych od siebie przecinkami.
Ciało pętli następuje po wyrażeniu for(;;) i może składać się z jednej instrukcji lub wielu instrukcji zgrupowanych w jeden blok obwarowany nawiasami klamrowymi.
Proszę zwrócić uwagę, że oba programy while.c oraz for.c w postaci wykonywalnej dają dokładnie ten sam rezultat. Od razu nasuwa się pytanie: dlaczego istnieją dwie konstrukcje, które umożliwiają nam właściwie to samo? Pisząc programy zauważymy, że w pewnych sytuacjach bardziej korzystne jest zastosowanie pętli while, a w innych pętli for. Pętla while jest odpowiednia wtedy, kiedy nie wiemy ile razy instrukcje będą się powtarzać. Jeśli natomiast chcemy wykonać określoną liczbę iteracji, wtedy z pewnością użyjemy instrukcji for. Ta ostatnia pętla ma też tę zaletę, że wszystkie elementy kontrolne umieszczone są w jednym miejscu (w nawiasach okrągłych za słowem for). Oczywiście ostateczna decyzja, co wybrać należy do programisty, czyli do Ciebie.