Süleyman KAYA tarafından yazılmıştır.
Merhaba, ben Süleyman Kaya. Bilgisayar bilimleri araştırmacısıyım. Bilgisayar bilimleri için C/C++ öğrenirken edindiğim bilgileri paylaşmak üzere bu yayın serisini sizlerle paylaşıyorum. Kaynak olarak Fahrettin Erdinç’in “Mühendislik Öğrencileri İçin Temel Klavuz: C++/C” kitabını kullanacağım. Bu yazımda C dilinde döngülerden bahsedeceğim.
Bir işlemi belli bir sayıda veya bir şart gerçekleşene kadar veya bir şsart gerçekleştiği sürece tekrar eden kod yapısına döngü denir. Kontrol yapıları ile döngüler programcılıkta en çok kullanılan komutlardır.
Daha önce de bahsedildiği gibi döngüler bir işlemi belli bir sayıda yapan veya belli bir şart sağlandığı sürece yapan kodlardır. Eğer döngü sayısı belli ise bu tür döngülere “sabit döngü” denir. Eğer döngü sayısı belli değilse ve belli bir şart gerçekleştiği sürece çalışırsa bu tür döngülere “şartlı döngü” denir.
En çok kullanılan döngü komutlarından biridir; eğer bir işlemin veya döngünün tekrar sayısı belli ise for kullanılır. for döngüsünde bir sayaç, bir şart ve sayacın artış durumunu belirleyen artış komutu bulunur. Örnek:
ya da
veya
Döngü sayısının belli olmadığı döngülerde while döngüsü kullanılır. Belirtilen şart sağlandığı sürece çalışmaya devam eder. While döngüsünün çalışabilmesi için önce şartın sağlanması gerekmektedir. While komutunun yapısı aşağıdaki gibidir:
ya da
Örnek kod:
Bir önceki bölümde while döngüsünü anlatırken önce şartın kontrol edildiğini ve şart sağlanırsa işlem yapıldığını öğrenmiştik. do-while döngüsünde ise önce işlem yapılır, daha sonra şart kontrol edilir. Şart sağlandığı sürece döngü devam eder. Yani do-while döngüsünde işlem yada döngü en az bir defa çalışır. Do-While döngüsünün yapısı aşağıdaki gibidir:
Örnek kod:
break komutu, while, for, do-while ve switch komutlarında ilgili kontrol veya döngü yapısının sonlandırılmasını ve sıradaki komuta geçmesini sağlar. Örneğin bir okul programında 500 kişi arasından istenilen numara bulununca işlem sona erdirilebilir ve geri kalan adımlar çalıştırılmayabilir. Örnek kod:
continue komutu, while, for ve do-while yapılarında bir şart sağlandığında o şarta uyan değerin çalışmamasını ve döngünün bir sonraki değerden devam etmesini sağlar. Örnek kod:
Eğer döngüdeki şart sürekli sağlanırsa sonsuz yani hiç bitmeyen bir döngü oluşur. Eğer döngüdeki şart hiç sağlanmazsa ölü yani hiç çalışmayan bir döngü oluşur.
Örnek kod:
Bir sonraki yayınımda C dilinde fonksiyonlara değinmeyi planlıyorum. İyi günler dilerim.
[TR] C/C++ Öğreniyorum (#8)
Giriş
Merhaba, ben Süleyman Kaya. Bilgisayar bilimleri araştırmacısıyım. Bilgisayar bilimleri için C/C++ öğrenirken edindiğim bilgileri paylaşmak üzere bu yayın serisini sizlerle paylaşıyorum. Kaynak olarak Fahrettin Erdinç’in “Mühendislik Öğrencileri İçin Temel Klavuz: C++/C” kitabını kullanacağım. Bu yazımda C dilinde döngülerden bahsedeceğim.
Döngü Nedir?
Bir işlemi belli bir sayıda veya bir şart gerçekleşene kadar veya bir şsart gerçekleştiği sürece tekrar eden kod yapısına döngü denir. Kontrol yapıları ile döngüler programcılıkta en çok kullanılan komutlardır.
Döngü Tipleri
Daha önce de bahsedildiği gibi döngüler bir işlemi belli bir sayıda yapan veya belli bir şart sağlandığı sürece yapan kodlardır. Eğer döngü sayısı belli ise bu tür döngülere “sabit döngü” denir. Eğer döngü sayısı belli değilse ve belli bir şart gerçekleştiği sürece çalışırsa bu tür döngülere “şartlı döngü” denir.
Sabit Döngü Komutları
- for
- for-each
Şartlı Döngü Komutları
- while
- do-while
For Döngüsü
En çok kullanılan döngü komutlarından biridir; eğer bir işlemin veya döngünün tekrar sayısı belli ise for kullanılır. for döngüsünde bir sayaç, bir şart ve sayacın artış durumunu belirleyen artış komutu bulunur. Örnek:
for(sayaç; şart; sayaç artışı){
komut1;
komut2;
komut3;
}
- 1’den 15’e kadar sıralayan bir for döngüsü yazalım.
int son=15;
for(int sayi=0; sayi≤son; sayi++){printf(“%d”, sayi );}
ya da
int baslangic=0, son=15;
for(;baslangic≤son;baslangic++)
printf(“%d\n”, baslangic);
veya
int baslangic=0, son=15;
for(;baslangic<=son{
printf(“%d\n”, baslangic);
baslangic++;
}
While Döngüsü
Döngü sayısının belli olmadığı döngülerde while döngüsü kullanılır. Belirtilen şart sağlandığı sürece çalışmaya devam eder. While döngüsünün çalışabilmesi için önce şartın sağlanması gerekmektedir. While komutunun yapısı aşağıdaki gibidir:
while(şart)
işilem;
ya da
while(şart){
işlem1;
işlem2;
işlem3;
}
Örnek kod:
//ekrana 5 defa merhaba yazdiralim.
int s=1 //sayac degiskeni
while(s≤5) //s=5 veya daha kucukse
{
printf(“merhaba\n”);
s++
}
Do-While Döngüsü
Bir önceki bölümde while döngüsünü anlatırken önce şartın kontrol edildiğini ve şart sağlanırsa işlem yapıldığını öğrenmiştik. do-while döngüsünde ise önce işlem yapılır, daha sonra şart kontrol edilir. Şart sağlandığı sürece döngü devam eder. Yani do-while döngüsünde işlem yada döngü en az bir defa çalışır. Do-While döngüsünün yapısı aşağıdaki gibidir:
do{
işlemler;
}
while(şart);
Örnek kod:
//ekrana 15 defa merhaba yazdiralim
int sayac=0;
do{
sayac++;
}
while(sayac≤14);
Break ve Continue Komutları
Break
break komutu, while, for, do-while ve switch komutlarında ilgili kontrol veya döngü yapısının sonlandırılmasını ve sıradaki komuta geçmesini sağlar. Örneğin bir okul programında 500 kişi arasından istenilen numara bulununca işlem sona erdirilebilir ve geri kalan adımlar çalıştırılmayabilir. Örnek kod:
int istenen_no=255;
for(int baslangic=1; baslangic≤500; baslangic++)
{
if(baslangic==istenen_no){printf(“aranan numara bulundu.\n”); break;}
}
Continue
continue komutu, while, for ve do-while yapılarında bir şart sağlandığında o şarta uyan değerin çalışmamasını ve döngünün bir sonraki değerden devam etmesini sağlar. Örnek kod:
int top, s;
for(s=1; s≤5; s++){
if(s==3){printf(“sayi bulundu.\n”); continue;}
top=top+s
}
printf(“toplam=%d\n”, top);
Sonsuz ve Ölü Döngü
Eğer döngüdeki şart sürekli sağlanırsa sonsuz yani hiç bitmeyen bir döngü oluşur. Eğer döngüdeki şart hiç sağlanmazsa ölü yani hiç çalışmayan bir döngü oluşur.
Örnek kod:
//sonsuz dongu
int x=5, y=10;
while(x<y)
printf(“x kucuk”);
//olu dongu
int x=5, y=10;
while(x>y)
printf(“x buyuk”);
Kapanış
Bir sonraki yayınımda C dilinde fonksiyonlara değinmeyi planlıyorum. İyi günler dilerim.
Moderatör tarafında düzenlendi: