Döngüler, bir işlemin belli bir koşul altında tekrar edilmesi için kullanılır.
C programlama dilinde
- For Döngüsü
- While Döngüsü
- Do-while Döngüsü
olmak üzere 3 farklı döngü çeşidi vardır. Biz bu dersimiz de for döngülerini inceleyeceğiz. Diğer döngü çeşitler için C Dili While ve Do-While Döngüleri sayfasını ziyaret edebilirsiniz.
FOR DÖNGÜSÜ
For döngüsü, en çok kullanılan döngülerden birisidir. Bir koşula bağlı olarak, belirli bir sayıda ve bir koşul sağlandığı sürece tekrarlayan döngüdür.
For döngüsünün genel yapısı aşağıdaki şekildedir :
for(sayaç, koşul, sayaç artışı)
{
komut1
komut2
...
}
Sayaç: Döngünün kaç defa çalıştığını gösterir. Sayaç daha önceden de tanımlanabilir.
int i = 0;
for(; i < 10; i++)
{
komut1
komut2
...
}
Yukarıda ‘i’ değişkenini yani sayacı tanımladığımız için for döngüsünün içindeki sayaç kısmını boş bırakıyoruz.
Koşul: Adından da anlaşıldığı üzere döngünün koşulunu kontrol eder ve koşul sağlandığı sürece döngü çalışmaya devam eder.
Sayaç Artışı: Bu bölümde ise sayacın artışını veya azalışını belirleriz. Arttırma ve azaltma işlemlerin detayı için C Dili Operatörler sayfasında arttırma operatörlerini ziyaret edebilirsiniz.
Hemen basit bir örnekte for döngüsünü kullanalım.
#include <stdio.h>
main()
{
for(int i = 0; i < 10; i++)
{
printf("Kod Bloklari\n");
}
}
Programda bir yazıyı 10 defa yazdırmak istiyorsak, bunun için 10 tane printf() fonksiyonunu kullanmamıza gerek yok. Yukarıdaki kodda gördüğünüz gibi basit bir for döngüsü ile istediğimiz sayıda döngüyü çalıştırabiliyoruz.
Yukarıdaki kod kısmında önce sayacımızı tanımladık ve 0 dan başlattık. Daha sonra koşul sağlandığı için devam etti , değeri 1 arttırıldı ve döngünün içerisindeki komutu çalıştırdı. Sonrasında şart sağlanmayana kadar ( i = 10 ) oluncaya kadar döngü devam etti. Böylece döngü 10 defa dönmüş oldu.
For döngüsünün en basit hali bu şekildedir.
Şimdi for döngüsünü kullanarak faktöriyel hesaplayalım.
Faktöriyel: 1 den kendisine kadar olan sayıların çarpımıdır.
#include <stdio.h>
main()
{
int faktoriyel = 1;
int sayi;
printf("Bir sayi giriniz: ");
scanf("%d",&sayi);
for(int i = 1; i <= sayi; i++)
{
faktoriyel *= i; // faktoriyel = faktoriyel * i;
printf("%d ! = %d\n", i , faktoriyel);
}
//printf("%d ! = %d ", sayi, faktoriyel);
}
Örneğin 5! = 5.4.3.2.1 dir. Bizde programımızda faktöriyel hesaplayabilmemiz için döngü değişkenini 1 den başlatıp girdiğimiz sayıya kadar döndüreceğiz. Döngü her döndüğünde de elde ettiğimiz sayıyı çarpacağız.
Sadece girdiğimiz sayının faktöriyelini vermesini istiyorsanız 14.satırı silip 17.satırdaki açıklama bölümünü kaldırabilirsiniz.
For döngüsünü kullanarak çok fazla örnek yapabiliriz. Konuyu örnekler yaparak daha iyi kavramak için C Programlama Dili Örnekleri sayfasında 13 ‘ den 50. soruya kadar olan örnekleri çözebilirsiniz.
13 Yorum
I think this website has got some very superb info for everyone. “Philosophy triumphs easily over past evils and future evils but present evils triumph over it.” by La Rochefoucauld.
I really liked your article.Thanks Again. Really Great.
Thanks a lot for sharing this with all of us you actually know what you’re talking about! Bookmarked. Kindly also visit my web site =). We could have a link exchange arrangement between us!
Wow, superb blog structure! How lengthy have you ever been blogging for? you make running a blog glance easy. The entire look of your site is fantastic, as smartly as the content!
kesinlikle çok yalın ve anlaşılır anlatım.harikasınız…
Great ?V I should definitely pronounce, impressed with your site. I had no trouble navigating through all tabs and related info ended up being truly easy to do to access. I recently found what I hoped for before you know it at all. Quite unusual. Is likely to appreciate it for those who add forums or something, site theme . a tones way for your client to communicate. Nice task..
eis7md
Hey very cool site!! Man .. Excellent .. Amazing .. I’ll bookmark your website and take the feeds also?I am happy to find a lot of useful info here in the post, we need develop more techniques in this regard, thanks for sharing. . . . . .
What i do not realize is actually how you are not really a lot more neatly-appreciated than you may be right now. You’re very intelligent. You already know thus significantly with regards to this matter, made me in my view consider it from so many varied angles. Its like men and women don’t seem to be fascinated unless it?¦s something to do with Lady gaga! Your own stuffs outstanding. All the time care for it up!
This paragraph will assist the internet visitors for building up new blog oreven a blog from start to end.
Enjoyed reading through this, very good stuff, regards.
I was very pleased to find this web-site.I wanted to thanks for your time for this wonderful read!! I definitely enjoying every little bit of it and I have you bookmarked to check out new stuff you blog post.
As a Newbie, I am continuously exploring online for articles that can benefit me. Thank you