Anasayfa C Dili Döngülerde Break ve Continue Komutları

C Dili Döngülerde Break ve Continue Komutları

Okan

Break ve continue komutları döngü komutlarının akışını kontrol etmek için kullanılır. Kısaca, break komutu yapıyı sonlandırırken continue komutu da döngüde belli bir şarta uyan kısmın atlanmasını sağlar.

Break Komutu

Bir C programında, bir işlem gerçekleştirilirken, işlemin sona erdirilmesi bu komut ile yapılır.

Break komutu while, do-while ve for döngülerinde oldukça kullanılır.

Şimdi break komutunu programımızda uygulayalım.

#include <stdio.h>

main()
{
	for(int i = 0; i < 5; i++)
	{
		if(i == 2){
			break;
		}
		printf("Kod Bloklari\n");
	}
	
	printf("Dongu sonlandi ve program dongunun sonundan devam ediyor.");
}

Yukarıdaki programda normalde 5 defa “Kod Bloklari” yazısını yazdırması gerekirken, biz “i”nin değeri 2 olduğu zaman break komutunu kullanarak döngüyü sonlandırdık.

Kodun ekran çıktısı aşağıdaki şekildedir:

break ve continue kod-1

Şimdide switch-case yapısındaki break komutlarını inceleyelim. C Dilinde Switch-Case Yapısı sayfasında yaptığımız hesap makinesi örneğimizi kullanalım.

#include <stdio.h>

main()
{
	int sayi1,sayi2;
        int islem;
	
	printf("1.Sayiyi giriniz:");
	scanf("%d",&sayi1);
	printf("2.Sayiyi giriniz: ");
	scanf("%d",&sayi2);
	

	printf("\n\n1.Toplama\n");
	printf("2.Cikarma\n");
	printf("3.Bolme\n");
	printf("4.Carma\n");
	printf("5.Programdan cik.");
	
	printf("\nIslemi seciniz:");
	scanf("%d",&islem);
	
	switch(islem){
		case 1:
			printf("Toplama isleminin sonucu : %d",sayi1 + sayi2);
			break;
		case 2:
			printf("Cıkarma isleminin sonucu : %d",sayi1 - sayi2);
			break;
		case 3:
			printf("Bolme isleminin sonucu : %f", (float) sayi1 / (float) sayi2);
			break;
		case 4:
			printf("Carpma isleminin sonucu : %d", sayi1 * sayi2);
			break;
		case 5:
			break;
		default:
			printf("Lutfen gecerli bir sayi giriniz..");
	}
}

Burada biz işlemimizi seçtikten sonra bizim seçimimize göre bir case ifadesine giriyor ve işlemi yaptıktan sonra break komutuyla döngüyü sonlandırıyor.

Kodun çıktısı da aşağıdaki şekildedir:

break ve continue -kod-2

Burada işlem değişkenine 5 sayısını girdiğim için case 5: ifadesinin içersindeki komutları çalıştırdı fakat içinde break dan başka bir komut olmadığı için sadece break komutunu kullanarak döngüyü sonlandırdır.

Eğer case ifadelerinden sonra break komutu kullanmasaydık, bir case ifadesini sağladıktan sonra altındaki tüm komutları çalıştırırdı.

Aşağıdaki örnekte, yukarıda yaptığımız hesap makinesi örneğindeki case ifadelerindeki break komutunu kullanmayacağım. Bakalım ne gibi değişikler olacak..

#include <stdio.h>

main()
{
	int sayi1,sayi2;
        int islem;
	
	printf("1.Sayiyi giriniz:");
	scanf("%d",&sayi1);
	printf("2.Sayiyi giriniz: ");
	scanf("%d",&sayi2);
	

	printf("\n\n1.Toplama\n");
	printf("2.Cikarma\n");
	printf("3.Bolme\n");
	printf("4.Carma\n");
	printf("5.Programdan cik.");
	
	printf("\nIslemi seciniz:");
	scanf("%d",&islem);
	
	switch(islem){
		case 1:
			printf("Toplama isleminin sonucu : %d\n",sayi1 + sayi2);
			//break;
		case 2:
			printf("Cikarma isleminin sonucu : %d\n",sayi1 - sayi2);
			//break;
		case 3:
			printf("Bolme isleminin sonucu : %f\n", (float) sayi1 / (float) sayi2);
			//break;
		case 4:
			printf("Carpma isleminin sonucu : %d", sayi1 * sayi2);
			break;
		case 5:
			break;
		default:
			printf("Lutfen gecerli bir sayi giriniz..");
	}
}

Kod kısmındaki break komutlarını açıklama satırı haline getirdim. Yani program tarafından okunmuyor.

Kodun ekran çıktısı aşağıdaki şekildedir:

break kod-2

Yukarıda bahsettiğim gibi, case ifadelerinin sonunda break komutunu kullanmadığım için program case1: ifadesine girdikten sonra break komutu göremediği için çalışmasını sürdürdü.

Continue Komutu

Bir döngü içerisinde continue komutu ile karşılaşılırsa, ondan sonraki komutları atlar ve döngünün bir sonraki değerinden devam eder.

Şimdi basit bir örnek üzerinde continue komutunu uygulayalım.

#include <stdio.h>

main()
{
	for(int i = 0; i < 5; i++)
	{
		if(i == 2){
			continue;
		}
		printf("KOD BLOKLARI\n");
	}
}

Bu döngü normal koşullarda ekrana 5 defa “Kod Bloklari” yazdırması gerekirken “i = 2” değeri olunca program 8.satırdaki continue komutunu görür ve direk 5.satırdan yani döngünün bir sonraki değerinden devam eder. Bu yüzden ekrana 4 defa yazı yazdırmış olur.

Kodun ekran çıktısı aşağıdaki şekildedir:

continue kod-1

Şimdi yine continue komutunu kullanarak başka bir örnek yapalım.

1 den 10 a kadar olan sayıları döngü yardımıyla toplayalım ama arasından 4 değerini bu toplamaya katmayalım.

Bunun için döngü 4 değerini aldığı zaman toplama işlemini gerçekleştirmeden bir sonraki değerden devam etmesini istiyoruz. Bunuda continue komutuyla yapacağız.

#include <stdio.h>

main()
{
	int toplam = 0;
	
	for(int i = 1; i < 10; i++)
	{
		if(i == 4){
			continue;
		}
		toplam += i;
	}
	printf("Toplam = %d",toplam);
	
}

Yukarıdaki kod da program 10.satıra geldiği zaman continue ifadesini gördüğü için alt satırdaki toplama işlemini yapamadan döngünün başına dönüyor. Bu şekilde 4 değerini aralarına katmadan 1 den 10 a kadar olan sayıların toplamını bulmuş olduk.

Kodun ekran çıktısı aşağıdaki şekildedir:

break ve continue kod-4

Break ve continue komutlarını farklı örneklerde kullanabiliriz. C Programlama Dili Örnekleri sayfasını ziyaret ederek farklı örnekleri inceleyebilirsiniz.

Yorum Yap

Bu web sitesi deneyiminizi geliştirmek için çerezler kullanmaktadır. Kabul Et Tamamını Oku

Gizlilik Politikası