Amiga Dünyası sayı 11, sayfa 29

Bu sayfadaki yazılar

Sayfanın metni

Sayfa 29

WHILE VE FOR

Bu iki komut, program içerisinde döngü kurmak için kullanılır. While ve for C dilinin en kullanışlı komutlarındandır. Kullanım şekilleri şöyledir:

while (ifade)

cümle

for(ifade 1 ;ifade2;ifade3)

cümle

While'dan sonraki ifade doğru ise, 'cümle' işlenmeye başlar. Burada birden fazla cümle kullanmak mümkündür. Bu cümleler bittiğinde, ifade tekrar gözden geçirilir. İfade yanlış olana kadar while döngüsü devam eder.

For komutu da üç ifade istemektedir. 1. ifade ile 3. ifade eşitleme ya da fonksiyon, 2. ifade ise parantezler içindeki ana ifadeyi belirlemektedir. Yani 2. ifade doğruluğunu korudukça, for döngüsü devam eder. Eğer 1. ifade ile 2. ifade kullanılmazsa, for döngüsü genişlemeye kapanır, fakat döngü 2. ifadenin doğruluğuna bağlı olarak devam eder. Eğer 2. ifade kullanılmazsa, for sonsuz döngüye girer.

for(;;) { ……

}

For ile kurulmuş bir sonsuz (infinite) döngü.

while (ifade) {

1 .cümle 2.cümle . . }

for (ifade1;ifade2;ifade3) (

1 .cümle 2.cümle . . }

Yukarıda, birden fazla cümle kullanılmıştır.

main()

{ int i=0;

while(i<=100)

printf("i=%d",i++);

}

Görüldüğü gibi while'ın kullanımı oldukça pratik. Burada dikkat edilecek nokta, ifadeyi doğru kullanmaktır. Aksi takdirde programınız sonsuz döngüye girebilir.

main()

{ int i;

for(i=0;i<=100;i++)

printf("i=%d",i++); }

Her iki örnek, i değişkeni vasıtasıyla 0'dan 100'e kadar sayar. İç içe for döngüleri kullanırken de, küme işaretleri ile döngüleri birbirinden ayırın. Ayrıca cümleleri yazarken içinde bulunduğu döngünün bir tab tuşu ilerisine atarak diğer cümleleri de alt alta yazın. Bu size programın anlaşılırlığı bakımından oldukça kolaylık sağlayacaktır. Aynı zamanda bu yazım şekli C dilinin syntax'ini belirlemektedir. Bir örnekle açıklarsak;

main()

{ int k=0; int i,j;

for(i=0;i<10;i++) {

for(j=0;j<10;j++) { k++;

printf("k=%d",k); } }

}

İç içe kullanımda yazılım şekline dikkat edin.

DO-WHILE

Kullanımı while komutuna benzer. Program bir defalık döngüye girerek cümleyi işler ve daha sonra while'dan sonraki ifadenin doğruluğuna göre döngüye devam eder. Eğer ifade yanlışsa, sonuç olarak do'dan sonraki cümleler bir defalık bile olsa işlenmiş olur. Yazılım formatı;

do{

1.cümle 2.cümle } while (ifade);

Örnek;

main()

{ int i=0;

do printf("i=%d",i++); while(i<=100); }

BREAK

Bazen program içerisinden ifadeye bakılmaksızın çıkmak gerekir. Bu durumda break komutu sık sık kullanılır. Break komutu for, while, do ve switch komutlarında etkilidir.

for(;;) {

i++; if(i== 10) break; }

for ile sonsuz bir döngü kurulmuştur. i= 10 olduğunda break komutu etkisiyle döngüden çıkılır. Burada dikkat edilecek husus, break komutundan sonraki komutların tamamen küme işareti sonuna kadar göz ardı edileceğidir.

CONTINUE

Break komutunun tersine, döngünün devamlılığını sağlamak için kullanılır. Fakat break komutu kadar gerekli değildir.

for(i=0;i<N;i++) {

if(a[i]<0) continue; ………

}

continue komutu işlendiğinde, for komutunun sonuna sıçranmış olur. Bunun dışında döngü normal seyrinde devam eder.

GOTO VE LABEL

Program içerisinde herhangi bir ifadeye bağlı olmadan sıçramamızı sağlar. C dilinde diğer dillerde de olduğu gibi bir label (etiket) ismi ile kullanılır.

for(...)

for(....) {

ât.)

goto error; } … error: …

Burada 'error' etiket ismidir ve goto komutunun sıçrayacağı satırı belirlemektedir. Bu etiket goto'nun altında veya üstünde olabilir.

Şimdilik bu kadar. Bu ayki konularımızı daha rahat anlayabilmeniz için oldukça basit örnekler vermeye çalıştım. Bu sayede kendi örneklerinizi geliştirmeniz daha kolay olacaktır. Gelecek ay Fonksiyonlar ve program structure'ları üzerinde duracağız. Hepinize iyi günler....

Klavyeyle gezinmek için ← ve → tuşları.