switch – case yapısı

Merhaba. Uzun bir aradan sonra bloga yazmaya fırsat buldum. Hemen konuya gireyim. Bu yazımda switch – case yapısından bahsedeceğim.
“Switch – case”i, “if – else if – else” yapısına benzetebiliriz. if ile yapacağımız şu işlemi:

if(x == 1)
{
printf("Bir");
}
else if(x == 2)
{
printf("Iki");
}
else
{
printf("Yanlis giris");
}

switch – case ile şu şekilde yazabiliriz:

switch(x)
{
case 1:
{
printf("Bir");
break;
}
case 2:
{
printf("Iki");
break;
}
default:
{
printf("Yanlis giris");
}
}

Burada switche kontrol edilecek değişkeni argüman olarak yazıyoruz.

switch(kontrolEdilecekDegisken)

Kontrol ettiğimiz değişkenin değeri 1 ise “case 1″e girer. Değer 2 ise “case 2″ye girer. “default” ise değişkenin değerinin, case ifadelerinin yanına yazılan değerlerden hiçbirine eşit olmadığı durumda devreye giren bölümdür. Yani “else” ile aynı işi yapar diyebiliriz.

case bloklarından çıkmadan önce koyduğumuz “break;” komutu ise örneğin case 1’e girdiyse, case 1 içindeki işlemler tamamlandıktan sonra switch yapısından çıkması içindir.
Varsayalım ki değişkenin değerini 1 verdik. break kullanmazsak kodun çıkışında şöyle bir ekran görüntüsü alırız.

Bir
Iki
Yanlis giris

break kullandığımız zaman case 1’e girer, ekrana “Bir” yazdırır, break’ı gördüğü an da switch’ten çıkar. default case’inde break koymaya gerek yoktur. Çünkü değişken üstteki hiçbir case’e girmemiş ve defaulta düşmüşse zaten defaultun altında başka case olmadığı için istenmeyen herhangi bir kod çalıştırılmaz. Ancak default’ta da break kullanmanın bir sakıncası yoktur.

Switch – case, if – else’e bir alternatiftir. Switch – case, koşul sağlandığı durumda çalışacak kodlar uzunsa, kodun bütününde oluşabilecek karışıklığı önlemek için kullanılabilir. Kullanıcı ile etkileşimli bir menü, buna güzel bir örnektir.

Share

Yorum Yap


Not - Bunları KullanabilirsinizHTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>