C’de Döngüler: for, while ve do-while

C'de Döngüler

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

c for dongusu
C’de 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

547b0e37 0c03 41ba a784 83ab54f1d70e
C’de Döngüler

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

C'de Döngüler Do-While
C’de Döngüler Do-While

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ı

C'de Döngüler karşılaştırması
C’de Döngüler karşılaştırması
C’de Döngü Türleri Karşılaştırması
DöngüKoşul KontrolüAvantaj
forBaştaTemiz ve düzenli yapı
whileBaştaEsnek kullanım
do-whileSondaEn 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

  • GeeksforGeeks

 

İlgili Yazılar