C Dersleri 5: “For” Döngüsü
Aynı işlemi birden fazla değer için yapmak istersek ne yapacağız? Her değer için ayrı ayrı işlemi yazmak hiç de mantıklı olmayacaktır. Bunun yerine o işlem için bir döngü oluşturmamız gerekir. Bunu yapmanın yolu da for, while ya da do-while döngüleridir.
Diyelim ki 1′den 20′ye kadar bütün sayıların karelerini bulmak istiyoruz. Yazacağımız program şu şekilde olacaktır:
- #include <stdio.h>
- main()
- {
- int sayi,kare;
- for (sayi=0;sayi<21;sayi=sayi+1)
- {
- kare=sayi*sayi;
- printf("%d\t%d\n",sayi,kare);
- }
- }
Bu programın çalıştırdığınızda şu sonucu elde edersiniz:

For döngüsü şu şekilde yazılır:
- for ([değişkenin başlangıç değeri];[koşul];[döngü başa döndüğünde yapılacak işlem])
Döngü şu şekilde çalışır: Önce sayı kendisiyle çarpılır (yani karesi alınır). Ekrana ilk olarak sayi, sonra karesi yazdırılır. Daha sonra döngü başa döner ve sayının değeri bir arttırılır. Gerekli koşul sağlanıyorsa aynı işlemler tekrarlanır ve döngü devam eder.
İlk sayımız for döngüsünde belirttiğimiz gibi 0′dır. 0′ın karesi yine 0 olduğu için ekrana “0 0″ yazdırılır. Döngü printf işlemini gerçekleştirdikten sonra for satırına döner.Sayının değeri bir arttırılır ve böylece yeni sayımız 1 olur. 1, sayı<21 koşulunu sağladığı için işleme devam edilir. Döngü bu şekilde sürüp gider. Sayı 20 olup gerekli işlemler yapıldığında döngü yine başa döner ve değer yine bir arttırılır. Yeni sayı 21 olur fakat 21, sayı<21 koşulunu sağlamadığı için döngü sonlanır. Bundan sonra yapılacak bir işlem olmadığı için program da sonlanmış olur.
“{ }” kullanmamızın nedeni printf ve kare alma işlemlerini döngü içine almak istememizdir. Parantezleri kaldırdığınızda sonucun farklı olacağını görebilirsiniz.
“/t”, sayı ile karesi arasında bir sekmelik boşluk bırakmak için kullanılmıştır.
for komutunun sonuna noktalı virgül koyulmadığına dikkat etmişsinizdir.
Siz de 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 yazın. Kullacağınız formül s=(5/9)*(f-32) dir. Programı bir sonraki derste bulabilirsiniz.
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 5: “For” Döngüsü” için 5 Yorum yapılmış.
Yorum Yapın





mrblar,1den 100e kadar olan sayıları yan yana yazdıran ve en sonunda toplamını gösteren programda,şöyle bişeyler yaptım ama sayıları yan yana göstermiyor direk toplamını gösteriyor yanlışım nerde acaba tşkler…
#include
main()
{
int i,t=0;
for(i=1;i<=100;i=i+1);
{
t=t+i;
printf(”%5d”,i);
}
printf(”\n toplam=%d\n”,t);
}
Sorun for döngüsünün sonuna koyduğunuz “;”. Kodu şu şekilde yazıp çalıştırırsanız istediğiniz sonucu elde edersiniz:
#include
main()
{
int i,t=0;
for(i=1;i<=100;i=i+1)
{
t=t+i;
printf(”%d\n”,i);
}
printf(”\ntoplam=%d\n”,t);
}
tskler….hocam eyw.
merhaba, ben 0 ile 1000 arasındaki 7 nin katlarını göstermek istiyorum ama bu sayılar arasından 21 i gözükmesini istemiyorum bunu nasıl yazabilirim… yardımlarınız için teşekkürler
7′yi sırayla 1,2,3… ile çarpmalısınız. Böylece 7′nin katlarını bulursunuz. 1000 sınırı için “if” ile her sonucun 1000′den küçük olup olmadığını kontrol edeceksiniz. Sonuç 1000′i geçene kadar döngü devam etmeli. Bir de 21 için her sonucun 21′e eşit olup olmadığını kontrol edeceksiniz. Eşit değilse ekrana yadıracaksınız. Yani bu döngüde 2 kontrol yapılacak. Bu 2 kontrolü geçen sayıları ekrana yazdıracaksınız.
Kolay gelsin.