For döngüsü belirlediğimiz sınırlar ile yineleme işlemi yapmak için tasarlanmıştır ve söz dizimi şu şekildedir.



while döngüsünde olduğu gibi for döngüsünde de içerisinde yazılan koşul doğru olduğu sürece yineleme işlemi devam ediyor fakat for döngüsünde döngü başlamadan önce bir başlangıç değeri belirlenir ve her yinelemeden sonra belirlediğimiz artış miktarı kadar bu değer artmaktadır. Bu nedenle for döngüsünün kullanımı daha çok sayaç ihtiyacı duyan algoritmalar için daha uygundur. For döngüsü aşağıdaki şekilde çalışmaktadır:

  1. Bir başlangıç değeri atanır ve bu başlangıç değeri döngünün başlangıcında bir defaya mahsus olmak üzere çalışır. Döngü devam ederken başlangıç değerine atama yapmaz.
  2. Koşul kontrol edilir ve doğru olması durumunda döngü devam eder. Eğer koşul doğru değilse döngü bitecek ve program kaldığı yerden çalışmaya devam edecektir.
  3. Döngü her zamanki gibi tek bir satırı kapsar veya { } arasında yer alan kod blogunun tamamını kapsar.
  4. Döngü tamamlandıktan sonra belirlediğimiz artış miktarı kadar artış sağlanır ve sonrasında yine koşulun doğru olup olmadığını kontrol eder. Eğer koşul halen doğru ise 2. adımdan itibaren işlemler tekrarlanır. 
  5. Döngü biter ve program kaldığı yerden çalışmaya devam edecektir.

Örnek: 10’dan geriye doğru sayan bir for döngüsü örneği:



For döngüsünde başlangıç değeri, koşul ve artış miktarını belirlediğimiz 3 alan isteğe bağlıdır ve girilmesi zorunlu değildir. Boş bırakılabilirler fakat boş bırakıldığında dahi ; her zaman konulmak zorundadır. Örneğin: Söz dizimi “for( ;  i>0 ; )” şeklinde olduğu zaman tıpkı bir while döngüsü gibi çalışacaktır ve koşul sağladığı sürece döngü çalışmaya devam edecektir. Eğer koşulun içerisindeki değişken hiç değişmiyorsa ve koşul sürekli sağlanıyorsa sistem sonsuz döngüye girecektir. 

Başka bir tanımlama ile “for(; i>0 ; i–)” söz dizimine sahip olan bir for döngüsünde başlangıç değeri girilmemiştir. Başlangıç değerinin girilmemesi döngünün hatalı çalışması veya çalışmaması anlamına gelmez. Programın başka bir kısmında belki de başlangıç değeri tanımlanmıştır. Bu nedenle başlangıç değerini farklı bir yerde başlatarak da for döngüsünü çalıştırabiliriz.