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:

Ş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:

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:

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:

Ş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 komutlarını farklı örneklerde kullanabiliriz. C Programlama Dili Örnekleri sayfasını ziyaret ederek farklı örnekleri inceleyebilirsiniz.
3 Yorum
Great post. I was checking continuously this blog and I’m impressed! Extremely helpful info specifically the last part :) I care for such information a lot. I was looking for this particular info for a very long time. Thank you and good luck.
Great, thanks for sharing this post.Much thanks again. Really Cool.
I truly enjoy looking through on this internet site, it has good articles.