C’de döngüler, her programlama dilinde olduğu gibi, tekrar eden işlemleri verimli ve okunabilir şekilde gerçekleştirmeyi sağlar. C programlama dili ise düşük seviyeli yapısı ve yüksek performansı sayesinde günümüzde hâlâ aktif olarak kullanılan güçlü bir dildir. Bu nedenle C’de döngüler, hem performans odaklı yazılımlarda hem de temel algoritma geliştirme süreçlerinde kritik bir rol oynarBu gücün en önemli yapı taşlarından biri ise döngülerdir.
C’de döngüler, belirli bir kod bloğunu tekrar tekrar çalıştırmamızı sağlar ve yazılım geliştirmenin vazgeçilmez konularından biridir.
Bu yazıda C’de döngüler konusunu tüm detaylarıyla ele alacağız.
for, while ve do-while döngülerinin ne işe yaradığını, nasıl çalıştığını ve hangi senaryolarda tercih edilmesi gerektiğini örneklerle açıklayacağız.
Hazırsanız başlayalım.
C’de Döngüler Nedir?
C programlama dilinde döngü, belirli bir koşul sağlandığı sürece aynı kod bloğunun tekrar tekrar çalıştırılmasını sağlayan yapıdır.
Eğer döngüler olmasaydı, aynı işlemi yüzlerce kez yazmak zorunda kalırdık.
Bu da hem hata riskini artırır hem de kodun okunabilirliğini düşürürdü.
Örneğin 1’den 100’e kadar olan sayıları ekrana yazdırmak istediğimizi düşünelim.
Döngü kullanmadan bunu yapmak mantıklı mıdır?
Elbette hayır.
İşte tam bu noktada C dilindeki döngüler devreye girer.
For Döngüsü: Sayaç Tabanlı Döngüler

For döngüsü, tekrar sayısı önceden bilinen işlemler için en ideal döngü yapısıdır.
Genellikle diziler üzerinde gezinme, belirli aralıkta sayma veya matematiksel işlemlerde kullanılır.
For Döngüsünün Yapısı
For döngüsü üç ana bölümden oluşur:
- Başlangıç: Döngü değişkeninin ilk değeri
- Koşul: Döngünün devam etme şartı
- Artırım / Azaltım: Her tur sonunda yapılan işlem
for (başlangıç; koşul; artırma) {
// çalışacak kodlar
}
For Döngüsü Örneği
#include <stdio.h>
int main() {
int i;
for (i = 1; i <= 10; i++) {
printf("%d\n", i);
}
return 0;
}
Bu örnekte döngü 1’den başlar, 10’a kadar devam eder ve her turda i değişkeni 1 artırılır.
Bu yapı sayesinde kısa, temiz ve okunabilir kodlar yazabiliriz.
Sizce bu işlemi while döngüsüyle yapmak daha mı karmaşık olurdu?
While Döngüsü: Koşula Bağlı Tekrarlar

While döngüsü, tekrar sayısının önceden bilinmediği durumlarda tercih edilir.
Döngü, verilen koşul doğru olduğu sürece çalışır.
Koşul her turdan önce kontrol edilir.
While Döngüsü Sözdizimi
while (koşul) {
// çalışacak kodlar
}
While Döngüsü Örneği
#include <stdio.h>
int main() {
int sayi = 1;
while (sayi <= 10) {
printf("%d\n", sayi);
sayi++;
}
return 0;
}
Burada dikkat edilmesi gereken en önemli nokta, döngü değişkeninin güncellenmesidir.
Eğer sayi++ satırını unutursanız, döngü sonsuz döngüye girer.
Bu, C dilinde yeni başlayanların en sık yaptığı hatalardan biridir.
Sonsuz Döngü Riski
While döngüsünde koşul yanlış ayarlanırsa veya hiç güncellenmezse program kilitlenebilir.
Bu nedenle while döngüsü kullanırken koşulun mutlaka kontrol altında tutulması gerekir.
Do-While Döngüsü: En Az Bir Kez Çalışır

Do-while döngüsü, while döngüsüne oldukça benzer.
Ancak aralarındaki en önemli fark, koşulun döngü sonunda kontrol edilmesidir.
Bu sayede döngü bloğu en az bir kez çalışır.
Do-While Sözdizimi
do {
// çalışacak kodlar
} while (koşul);
Do-While Döngüsü Örneği
#include <stdio.h>
int main() {
int secim;
do {
printf("1- Devam\n");
printf("0- Cikis\n");
scanf("%d", &secim);
} while (secim != 0);
return 0;
}
Bu örnek menü tabanlı programlarda sıkça kullanılır.
Kullanıcıdan en az bir kez giriş alınması gerektiği için do-while döngüsü burada ideal bir çözümdür.
For, While ve Do-While Karşılaştırması

| Döngü | Koşul Kontrolü | Avantaj |
|---|---|---|
| for | Başta | Temiz ve düzenli yapı |
| while | Başta | Esnek kullanım |
| do-while | Sonda | En az bir kez çalışır |
Doğru döngüyü seçmek, programın hem performansını hem de okunabilirliğini ciddi şekilde etkiler.
Bu yüzden her döngüyü her yerde kullanmak yerine, senaryoya göre seçim yapmak gerekir.
Siz genelde C projelerinizde hangi döngüyü tercih ediyorsunuz?
SSS (FAQ)
C’de döngüler neden bu kadar önemlidir?
Tekrarlı işlemleri kısa ve hatasız şekilde yazmamızı sağlar.
For döngüsü mü while döngüsü mü daha hızlıdır?
Performans farkı yok denecek kadar azdır; fark okunabilirliktedir.
Do-while döngüsü ne zaman kullanılmalı?
Kodun en az bir kez çalışması gereken durumlarda tercih edilmelidir.
Sonsuz döngü nasıl oluşur?
Koşulun hiç değişmemesi veya yanlış ayarlanmasıyla oluşur.
Kaynak
- The C Programming Language – Kernighan & Ritchie
https://en.cppreference.com/w/c/language/iteration






