C Programlama Dili – While Döngüsü (While Loop)

C - Ders Notları C Programlama Yazılım

Yazılan şart sağlandığı süre boyunca içindeki komutları çalıştıran döngü çeşitidir. Kullanım şekli;

while (koşul) 
{
    komut 1
    komut 2
    ...
}

Yukarıdaki örnekte koşul kısmı doğru (true) olduğu sürece döngü içindeki komutları sürekli tekrar tekrar işleyecektir. “koşul” un yanlış (false) olması durumunda döngüden çıkıp döngüden sonraki komutları işlemeye geçecektir.

Örnek1 : Aşağıdaki örnekte döngü, i değişkeni 10’dan küçük olduğu sürece içindeki komutları işlemeye devam edecektir. i değişkeni 0 olduğu için döngü sürekli dönecektir (istenmeyen durum).

i=0;
while (i<10)
{

}

Bu yüzden i değişkenin belli bir süre sonra (ihtiyacımıza göre) değiştirmemiz gerekecektir. Aşağıdaki örnekte olduğu gibi i değişkenini döngü her döndüğünde birer birer artırısak i 11 olduğunda döngü koşulu sağlamadığı için duracaktır.

i=0;

while (i<10)

{
	i++;
}

=

i=0;

while (i++<10)

{

}

Döngüleri istediğimiz zaman durdurmak için break komutunu kullanırız. Döngü içinde break komutunu çalıştırdığımız zaman döngü durur ve program döngüden sonraki komutları işlemeye devam eder.

i=0;
while (i<10)
{
	i++;
	if(i==5) break;
}

Yandaki örnekte döngü i değişkeni 10 olana kadar dönecekti fakat if komutu ile i değişkeni 5’e eşit olunca break komutunu çalıştır dediğimiz için i değişkeni 5’e eşit olduğu zaman döngü duracaktır.

Örnek:

Girilen sayıyı tersten yazan program :

#include <stdio.h>
main()
{
	int sayi;
	int yazilacak_rakam;
	printf("Bir Sayiyi Giriniz = ");
	scanf("%d",&sayi);
	printf("Sayiyinin Ters Yazilisi = ");
	while(sayi>10)
	{
		yazilacak_rakam = sayi % 10;
		printf("%d",yazilacak_rakam);
		sayi = sayi / 10;
	}
	printf("%d",sayi);
}

Çıktı:

Sayiyi giriniz = 123456

Sayiyinin ters yazilisi = 654321

Girilen birinci sayıyı girilen ikinci sayıya bölen, bölüm ve kalanı yazan program :

#include <stdio.h>
main()
{
	int x,y,sayac=0;
	printf("Birinci Sayiyi Gir: ");
	scanf("%d",&x);
	printf("Ikinci Sayiyi Gir: ");
	scanf("%d",&y);
	while (x>=y)
	{
		x=x-y;
		sayac=sayac+1;
	}
	printf("Bolum = %d",sayac);
	printf("\nKalan = %d",x);
}

Çıktı:

Birinci sayiyi gir: 30

Ikinci sayiyi gir : 4

Bolum = 7

Kalan = 2

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir