C Programlama Dili - Switch İfadesi

Katılım
22 Ağustos 2013
Mesajlar
15.504
Makaleler
35
Çözümler
78
• Bir programda çok sayıda koşul kontrolü ve bunların sonucuna göre gerçekleştirilmesi gereken işlemler varsa, if-else yapıları ile akışın izlenmesi zorlaşabilir. Böyle durumlar genellikle switch deyiminin kullanılmasının gerekli olacağı durumlardır. switch deyimi, tek bir ifadenin değerine göre sınırsız sayıda çalıştırma yolu belirlemeyi sağlayan bir komuttur.

•switch case en tepeden başlayarak şartları tek tek kontrol eder. Uygun şart yakalanırsa, bundan sonra ki ifadeleri kontrol etmeden doğru kabul eder ve yapı dışına çıkılır.

switch deyiminin çalışma prensibi aşağıdaki gibidir. switch ifadesi hangi case’i izleyen sabitle çakışıyorsa, programın kontrolü o case’i izleyen kısma geçer. Bu case’den sonraki deyimler de kontrol edilmeden çalıştırılır. case sabitlerinden hiçbiri ifade ile uyuşmuyorsa, programın akışı default‘u izleyen kısıma geçer.

Kod:
switch(deyim)
{
case değer1:
ifade(ler);
break;
case değer2:
ifade(ler);
break;
case değer3:
ifade(ler);
break;
default:
ifade(ler);
}

switch sözcüğünden hemen sonra gelen ifade parantez içinde yer almalı ve bir tamsayı ifade olmalıdır.

case anahtar sözcüklerini izleyen ifadeler tamsayı sabit türünde ifadeler olmalıdır, yani değişken içermemelidir.

Switch/case yapısında, programın kontrolünün ifadenin değerine göre case seçeneklerinden sadece biri çalıştırılıp bundan sonra switch/case yapısı terkedilmek isteniyorsa, bu durumda her case seçeneğinden sonra break komutunun yerleştirilmesi gerekmektedir.

• switch/case, iç içe if yapısına oldukça benzer bir ifadedir. Ancak aralarında iki fark bulunmaktadır. Birincisi, switch/case yapısında aralık değeri girilmez, direkt olarak ifadelerin bir şeylere eşit olup olmadığına bakılır. İkinci farksa, switch/case yapılarında uygun koşulun sağlanmasıyla yapının kesilmek zorunluluğunun olmayışıdır. break komutu kullanılmadığı takdirde, diğer şartların içindeki işlemleri de yapma imkanı vardır.

•Diğer bir ifade ile break koyulduğu takdirde, uygun koşul sağlandıktan sonra daha fazla kontrol yapılmayacak ve aynen iç içe if yapısında olduğu gibi program orada kesilecektir. Eğer break ifadesi koyulmaz ise, ifadenin altında kalan bütün işlemler -bir daha ki break'e kadar- yapılacaktır.
upload_2015-12-5_21-3-24.png

Örnek :

upload_2015-12-5_21-2-24.png

 

Dosya Ekleri

  • upload_2015-12-5_21-2-57.png
    upload_2015-12-5_21-2-57.png
    35,4 KB · Görüntüleme: 171
Son düzenleme:
Uyarı! Bu konu 10 yıl önce açıldı.
Muhtemelen daha fazla tartışma gerekli değildir ki bu durumda yeni bir konu başlatmayı öneririz. Eğer yine de cevabınızın gerekli olduğunu düşünüyorsanız buna rağmen cevap verebilirsiniz.

Technopat Haberler

Yeni konular

Geri
Yukarı