for komutu ile while komutu arasındaki fark ..

Başlatan ilhanoguz, 18 Mart 2008, 09:11:42

ilhanoguz

merhaba arkadaşlar !!

biraz basir bir soru olacak ama ben biryerlerde yanlış düşünüyorum sanırım.

for(;;) {   

           } 

komutu ile 

while(true) {

                  }
  komutu arasında bir fark varmıdır ??

mihri

"Eppur si muove!"

ete

Her ikiside benzer işi yapmalarına rağmen aralarında biraz fark vardır.
For .. next döngüsü arasında yerleştirilen komutlar döngü sayısı kadar yerine getirilir. Döngü bittiğinde döngüden çıkılır.

While .. wend  döngüsünde ise while döngüsünü açtığınız şart geçerli olduğu sürece döngüye devam edilir ve döngüden ancak şart ortadan kalkınca çıkılır.

Basit bir örnek vermek gerekir ise;
FOR I=1 to 10
 GOSUB PORTA_BAK
NEXT
döngüsünde toplam 10 defa PORTA_BAK isimli alt programa gidilir ve 11. cide döngüden çıkılır.

WHILE (X=1)
 GOSUB PORTA_BAK
WEND
döngüsünde ise X=1 olduğu müddetçe PORTA_BAK isimli alt programa gidilir. Döngü ancak X<>1 ise kesilir aksi halde sonsuza kadar devam eder.

Ete
Bilgi hazinedir paylaştıkça büyür.            http://etepic.com

arslan74

Alıntı yapılan: "ilhanoguz"merhaba arkadaşlar !!

biraz basir bir soru olacak ama ben biryerlerde yanlış düşünüyorum sanırım.

for(;;) {   

           } 

komutu ile 

while(true) {

                  }
  komutu arasında bir fark varmıdır ??

"for" döngüsü "while" den sonra cıkmış for komuttur. "while" den ekstra özelliklere sahibtir.

Zaten sizinde yazdığınız gibi tek bir bildirimle 3 tane işlemi yapabiliyorsunuz.

Örneğin
int i;

for ( i = 0; i <20; i++){
// islemler
}


ilk tane ilk değer verir. orta hane sorgu yapar, son hane ise iç işlemin  sorgusunu yaptıktan sonra yapılan olan işlemi belirtir. Bunu while da tek bir komutla yapamasın.

Şöyle olabilir.

int i;

i = 0;

while (i <20){

// işlemler

i++
}


"for" döngüsü daha okunaklı ve anlaşılır oluyor. Ancak her ikisinide birbirlerinin yerlerine kullanılabilir.

Yanlız "do while" biraz farklılık gösterir. Sorgu iç işlemden sonra yapılır.

Selamlar