Picproje Elektronik Sitesi

DERLEYİCİLER => CCS C => Konuyu başlatan: ilhanoguz - 18 Mart 2008, 09:11:42

Başlık: for komutu ile while komutu arasındaki fark ..
Gönderen: ilhanoguz - 18 Mart 2008, 09:11:42
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 ??
Başlık: for komutu ile while komutu arasındaki fark ..
Gönderen: mihri - 18 Mart 2008, 09:28:00
Her ikiside aynı işi yapar.
Başlık: for komutu ile while komutu arasındaki fark ..
Gönderen: ete - 18 Mart 2008, 12:20:40
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
Başlık: Re: for komutu ile while komutu arasındaki fark ..
Gönderen: arslan74 - 18 Mart 2008, 13:04:46
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