C Dersleri 6: “While” Döngüsü

Önceki derste for döngüsüyle 0′da 100′e kadar 10′un katları olan bütün sayıları santigrat derece kabul edip bunları fahrenayta çeviren bir program yazmanızı istemiştim. Program şöyle olmalı:

  1. #include <stdio.h>
  2. main()
  3. {
  4.     int s;
  5.     float f;
  6.    
  7.     for (s=0;s<110;s=s+10)
  8.     {
  9.         f=(s/0.55)+32;
  10.         printf("%d\t%.2f\n",s,f);
  11.     }
  12. }

Şimdi gelelim while döngüsüne. Yine aynı örnek üzerinden while döngüsünü anlatacağım.

Aşağıdaki program for döngüsüyle aynı işi yapar.

  1. #include <stdio.h>
  2. main()
  3. {
  4.     int s=0;
  5.     float f;
  6.    
  7.     while (s<110)
  8.     {
  9.         f=(s/0.55)+32;
  10.         printf("%d\t%.2f\n",s,f);
  11.         s=s+10;
  12.     }
  13. }

Gördüğünüz gibi ilk programla ikincisi arasında çok az fark var.

While komutu şu şekilde kullanılır:

  1. while ( [koşul] )

For döngüsünden farklı olarak burada değişkenin başlangıç değerini ve döngü başa döndüğünde yapılacak işlemi yazmadık. Bu yüzden döngü ilk fahrenayt değerini hesaplamaya çalıştığında bir s değerinin olması gerekir. Bu yüzden,

  1. int s=0;

yazarak döngüden önce ilk s değerini belirlemiş olduk. Yani değişkenin başlangıç değeri 0 olacaktır.

Döngü başa döndüğünde yapılacak işlemi de döngü sonunda belirliyoruz. Bu da,

  1. s=s+10;

işlemidir. Burada s değeri 10 arttırılır ve yeni değer s‘ye eşitlenir.

Bütün bunları göz önüne alırsak program şu şekilde çalışır:

İlk santigrat derecemiz 0′dır (s=0). Program while satırına geldiğinde koşulu dikkate alır. Eğer koşul sağlanıyorsa döngüye girer, aksi halde girmez. İlk durumda s değeri 0 olduğu için s<100 koşulu sağlanmış olur. Döngüye girilir ve döngü içindeki işlemler sırayla yapılır. Önce santigrat dereceye karşılık gelen fahrenayt değeri hesaplanır. Daha sonra bu ekrana yazdırılır ve sonunda s değeri 10 arttırılır. Daha sonra döngü tekrar başa yani while satırına döner. Bu işlemler s=100 durumuna kadar yapılır. s=110 olduğunda ve döngü başa döndüğünde s<100 koşulu sağlanmayacağı için döngüden çıkılır ve program sonlanır. Sonuç şu şekilde olur:

Konuyla ilgili her türlü soru, sorun ve eleştirileriniz için benimle iletişime geçebilirsiniz.

İyi çalışmalar…

Benzer Yazılar




Yorumlar

“C Dersleri 6: “While” Döngüsü” için 1 Yorum yapılmış.

  1. Umut DOĞAN 23 Ocak 2008 00:10

    Güzel gidiyor dersler. Bilmeyenlere yararlı olması dileğiyle. ;)

Yorum Yapın




Kapat
E-posta ile paylaş