Bu partda önceki partda ilk kısmı anlatılan loop-un bir sonraki kısmı anlatılıcak. Bu kısım while döngüsü. While-ın for-dan bazı farkları var. Burda for-daki gibi 3 şart yerine sadece 1 şart var: loop-un ne kadar devam edeceği. Bir başka fark ise while-da sırf o loop-a uygun değişken normal parantezin içinde yaratılmıyor. Dikkat: Eğer istenilirse dalgalı parantezin içinde yaratıla bilir. Mesela önceki partda yazdığımız ilk kodu hatırlayalım.
Bu kodun açıklamasını önceki partda vermiştik. Şimdi ise bu kodu for-la değil while ile yazalım.
Burda gördüğünüz gibi şartlar kısmıda for-dakı gibi 3 değil sadece 1 şart var. Ayrıca bu kodda "i" değişkeni dışarda tanımlanmış. Buysa değişkeni başka yerlerde de kullana bileceğimiz anlamına geliyor. Ama eğer loop-un içinde tanımlasaydık o zaman bu değişken sadece loop-da kullanılabilirdi ve loop bittiğinde değişkende silinirdi. Mesela bir örnek gösterelim.
Bu yazdığımız kodda loop-un içinde tanımladığımız "a" değişkeni loop-un dışında her hangi bir yerde kullanılamaz. Bir detay daha vermek gerekirse burda loop-un şartında olan "n > 0" "n--" şeklinde yazıla bilir. Bu zaman kod şu şekilde olucak.
"n--" ın olayı sadece her döngüde n değişkenini 1 vahid azaltıyor ve n 0-a beraber oluğunda duruyor.
Dikkat: n-in 0 olduğunda durmasının sebebi 0 bool tipinde false anlamına gelmesi ve buda loop-u durduruyor. Buda eğer şart kısmına "true" veya sadece "1" yazarsak loop sonsuza kadar devam edicek demek.
While döngüsünün for-dan ayıran çok büyük bir özelliği daha var. Bunu anlatmak çokta mümkün bu yüzden kendimiz bir örnek üzerinden görelim.
Bu kodda diğerlerinden farklı yapan şey loop-un şartında bulunan "cin" ifadesi. Bu her döngüde n rakamının dahil olunması demek. Ve dahil olunan n rakamında çıkışa n+1 rakamını veriyor. Aslında bu kod sonsuz bir şekilde devam ediyor. Bizim bu kodu sonlu hale getirmek için küçük bir dokunuş yapmamız yeterli.
Bu kodda sadece diğer kodun şartına n != 0 şartının artırılması sayesinde eğer 0 dahil olunursa kod biter.
ŞİMDİ OKUDUĞUN
I learn c++
Science Fiction"Yanlış bir program yazmak doğru bir programı anlamaktan daha kolaydır."