Anasayfa / C#.Net / C# For Döngüsü, Örnekler ile Detaylı Anlatım
c# for döngüsü

C# For Döngüsü, Örnekler ile Detaylı Anlatım

Yalnız C# dilinde değil, muhtemelen bütün programlama dilleri içerisinde en çok tercih edilen döngü yapısı for döngüsüdür. Döngüler adından da anlaşılacağı gibi, sonlandırma koşulu sağlanıncaya kadar aynı komutları defalarca çalıştıran yapılardır. C# dilinde for döngüsü çok esnek bir yapıya sahip olup, neredeyse içerisinde döngü gerektiren tüm problemler bu komutla çözülebilir.

For ifadesinin genel formu aşağıdaki gibidir.

For(başlangıç değeri; koşul; değişim-miktarı){

//Komutlar

}

Genel formu verilen for döngüsünün çalışma mantığını inceleyelim. Başlangıç değeri; Bu kısım programın başlangıcında bir defaya mahsus olmak üzere çalıştırılır. Burada döngüyü kontrol eden değişkene bir başlangıç değeri atanır. Koşul; Bu bölümde başlangıç değeri atanan değişken bir koşul ile test edilir eğer bu ifade true sonuç verirse, döngü bloğu içerisindeki komutlar çalıştırılır. Koşul false sonuç verirse döngü sonlandırılır. Değişim-miktarı; Bu kısımda döngü değişkeni eksiltilir veya arttırılır. Döngü her tekrarlandığında koşul değeri kontrol edilir, döngü bloğu çalıştırılır, döngü değişkeni arttırılır veya azaltır. Bu çalışma sistemi ta ki kontrol değişkeni koşulu sağlamaz hale gelene kadar devam eder.

Şimdi for döngüsünü daha iyi anlamak için örnekler yapalım ve adım adım inceleyelim.

FOR DÖNGÜSÜ ÖRNEKLERİ

Örnek1: 1’den 10’a kadar olan sayıları alt alta ekrana yazdıralım. Bu soru konunun anlaşılması için basit fakat ideal bir örnek.

Ekran Çıktısı:

c# for birden ona
Birden Ona Kadar Ekrana Yazdırma

Not: Öncelikle kontrol değişkenimizin isminin “i” olduğuna dikkat çekmek isterim. Döngülerde bu değişkenler standart olarak i,j,k gibi isimler ile adlandırılırlar. Fakat bu bir zorunluluk değildir.

Örneğimizin çalışmasını adım adım inceleyelim.

Adım1: (int i=1)Kontrol değişkenimizin başlangıç değeri 1 olarak verilmiş.

Adım2: (i<=10) i değişkenimizin değeri koşulumuzla test ediliyor. “i” değeri 10 ve 10’dan küçük olduğu sürece döngü çalışacak.

Adım3: Koşul sağlandığı için döngü bloğuna girildi. Ekrana “i” değeri yani 1 yazdırıldı.

Adım4: (i++) Döngü bir kez çalıştıktan sonra i++ ile i değeri 1 arttırıldı. Yani 2 oldu.

Adım5: Tekrar koşul kontrol edildi, “i” değeri 10’dan küçük olduğu için tekrar döngü bloğuna girildi.

Adım6: Bu işlem “i” değeri birer birer artıp 11 olana kadar devam eder.

Adım7: “ i” değeri 11 olduğunda koşul sağlanamaz ve döngü sona erer.

 

Örnek2:  1 ile 40 arasındaki çift sayıları toplayarak sonucu ekranda gösterelim. (40 dahil olsun).

Çözüm: Bu soruda dikkat edilmesi gereken 2 önemli nokta bulunuyor. 1.si sadece 2’ye kalansız bölünebilen sayıların toplama eklendiği. 2.si ekrana yazdırma işleminin for döngüsü dışında gerçekleştirildiği.

Ekran Çıktısı:

c# for çift sayılar
Çift Sayıların Toplamı

 

Örnek 3: Klavyeden girilen sayının faktöriyelini bulan programı yapalım.

Çözüm: Bu soruda değişim miktarının birer birer azaltıldığına dikkat ediniz. Her azaltma işleminden sonra sonuçla “i” değeri çarpılarak, değer sonuca eşitlenmiştir.

Ekran Çıktısı:

c# for faktöriyel
Faktöriyel Hesaplama

 

Örnek 4: 1’den 9’lara kadar olan klasik çarpım tablosunu oluşturalım.

Çözüm: Bu örnekte 2 tane for döngüsünün iç- içe kullanıldığına dikkat ediniz. Dıştaki for döngüsü 1 kere çalıştığında içteki for döngüsü 9 kere çalıştırılır.

Ekran Çıktısı:

c# çarpım tablosu
Çarpım Tablosu

 

Örnek 5: Klavyeden girilen 5 adet sayıyı, küçükten büyüğe doğru sıralayarak ekrana yazdıralım.

Çözüm: Bu soruda girilen her değer bir diziye atılmış, daha sonra dizi sıralanarak başka bir for döngüsü ile ekrana yazdırılmıştır.

Ekran Çıktısı:

c# dizi sıralama
Dizi Sıralama

Örneklerimiz burada sona erdi, konuyla ilgili sorularınızı bana iletebilirsiniz.

İlginizi Çekebilir!

c# müzik çalar yapımı

C# ile Müzik Çalar Yapımı

Bu dersimde Windows’un kendi müzik çaları olan Windows Media Player’ ı C# içerisin de kullanarak …


20 Yorumlar

  1. for ile karekökü nasıl alınır

  2. c# da yıldızlarla (*) kelebek şeklinin çıktısını veren kodu bilen var mı?? NOT: 2 tane for kullanılarak yazılacak

  3. İSMİNİ VERMEK İSTEMEYEN BİRİSİ :)

    1 ile 5000 arasındaki tek sayıların, çift sayıların ve aralıktaki tüm sayıların toplamını ayrı ayrı ekrana yazan c# uygulamasını yapınız.(For döngüsü ile olacak ben denedim örnek 2 deki gibi ama ayrı ayrı yazınca yanlıs sonuclar çıktı kısacası yapamadım yardımcı olurmusunuz.)

    • int tt = 0, ct = 0, top = 0;
      for (int i = 1; i <= 1000; i++) {
      top += i;
      if (i % 2 == 0)
      ct += i;
      else
      tt += i;
      }
      Console.WriteLine("TEK SAYILARIN TOPLAMI:{0}", tt);
      Console.WriteLine("ÇİFT SAYILARIN TOPLAMI:{0}", ct);
      Console.WriteLine("TÜM SAYILARIN TOPLAMI:{0}", top);
      Console.ReadKey();

    • int i;
      int toplam = 0;
      int cifttoplam = 0;
      int tektoplam = 0;

      for (i = 1; i <= 5000; i++)
      {
      toplam = i + toplam;
      }

      for (i = 0; i <= 5000; i += 2)
      {
      cifttoplam = i + cifttoplam;
      }

      for (i = 1; i <= 5000; i += 2)
      {
      tektoplam = i + tektoplam;
      }

      Console.WriteLine("5000'e kadar olan tüm sayıların toplamı: " + toplam);
      Console.WriteLine("5000'e kadar olan çift sayıların toplamı: " + cifttoplam);
      Console.WriteLine("5000'e kadar olan tek sayıların toplamı: " + tektoplam);

      Console.Read();

    • int sumOfEven = 0, sumOfOdd = 0;
      int countOfEven = 0, countOfOdd = 0;
      for (int i = 1; i < 5001; i++)
      {
      if (i % 2 == 0)
      {
      sumOfEven += i;
      countOfEven += 1;
      }
      else
      {
      sumOfOdd += i;
      countOfOdd += 1;
      }
      }
      Console.Write($" Sum of even numbers is {sumOfEven} \n Sum of odd numbers is {sumOfOdd} \n");
      Console.Write($" Count of even numbers is {countOfEven} \n Count of odd numbers is {countOfOdd}");
      Console.ReadKey();

  4. Klavyeden girilen 20 sayıdan çift olanların ortalamasını bulup ekrana yazdıran programı yazınınız

    • // Klavyeden girilen 20 sayıdan çift olanların ortalamasını bulup ekrana yazdıran programı yazınınız *//

      double psayac = 0, psayi = 0;
      for (int i = 0; i < 20; i++)
      {
      Console.Write("Sayı gir : ");
      double sayi = Convert.ToDouble(Console.ReadLine());

      if (sayi%2==0)
      {
      psayac++;
      psayi = sayi + psayi;
      }
      else
      {
      Console.WriteLine("Girdiğiniz sayı tek.");
      }
      }
      double ort = psayi / psayac;
      Console.Write("Çift sayıların ortalaması : {0} ",ort);
      Console.ReadKey();

  5. iyi günler::

    alfa açısı klavyeden derece olarak girldiğinde (alfa-45derece<=alfa<=alfa+45derece) aralığında 2 derecelik açı adımları için hesaplanan sin(t) fonksiyonun değerlerini listeyeleyen C# programını yazınız.

    sin(t) = 1, t=0
    sin(pi*t)/pi*t, t!=0 t:radyan cinsinden.

  6. Merhaba,
    Bir sql tablosunun kolanlarinin bir tanesinin değerleri artırarak o tabloyu çoğaltmak istiyorum.
    Bu konuda yardımcı olabilir misiniz.

  7. İSİM VERMEK İSTEMEYEN BİRİ

    ekrana klvyeden girilen sayıya kadar, sayıları ve 10’un bu sayılardaki katlarnı yazan programı programlama dilinde for döngüsü yapısında kullanarak yazınız.

    yapabilirmisiniz?

  8. Kullanıcının girdiği metni sayısal değerde yazan programı nasıl yazarız.örn:/(veli yazinca sayi degerini ekrana yazcak.)Yardımcı olabilir misiniz.

  9. Ekranda 1000 kere BİLİŞİM BÖLÜMÜNDE ÇOK MUTLUYUM yazan kodu yazınız ?

  10. Kullanıcının girdiği sayıdan 0’a kadar geriye doğru sayıları ekrana yazan uygulama bunu yapabilir misiniz?

    • static void Main(string[] args)
      {
      Console.Write(“Enter a number:”);
      int num = Convert.ToInt32(Console.ReadLine());
      if (num = 0; i–)
      {
      Console.WriteLine(i);
      }
      }
      Console.ReadKey();
      }

  11. int cift = 0;
    int tek = 0;
    int toplam = 0;
    for (int i = 1; i < 5000; i++)
    {
    toplam = toplam + i;
    if (i % 2 == 0)
    {
    cift = cift + i ;
    }

    else
    {
    tek = tek + i;
    }
    }
    Console.WriteLine("Ciftlerin toplamı: {0}, Teklerin Toplamı: {1}, 5000'e kadar olan sayıların toplamı: {2} ",cift,tek,toplam);
    Console.ReadKey();

  12. Console.WriteLine(“KELİMEYİ GİRİN: “);
    string kelime = Console.ReadLine();
    int toplam = Convert.ToInt32(kelime.Length);
    Console.WriteLine(“KELİMENİZ ” + toplam + ” HARFLİDİR.”);
    Console.ReadLine();
    }

  13. Console.Write(“Bir sayı giriniz: “);
    int sayi = Convert.ToInt32(Console.ReadLine());
    for (int i = sayi; i > 0; i–)
    {
    Console.WriteLine(i);
    }
    Console.ReadKey();

  14. 11!-8!3! işlemin sonuçunu bulan programı for döngüsü kullanarak yapınız.
    Bu soruyu yapabilirmisiniz?

  15. int[] dizi = new int[20];
    int toplam = 0;
    for (int i = 0; i < 20; i++)
    {
    Console.Write("Lütfen {0}. sayıyı giriniz: ", i + 1);
    dizi[i] = int.Parse(Console.ReadLine());

    if (dizi[i] % 2 == 0)
    toplam += dizi[i];
    }
    Console.WriteLine("Girilen sayılardan ÇİFT olanların ortalaması = " + (toplam / 2));

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Time limit is exhausted. Please reload the CAPTCHA.