Bu Blogda Ara

26 Haziran 2014 Perşembe

Switch case

  Switch-case yapısı if-else ile aynı işi yapar. Arasındaki fark switch-case'de durumların teker teker kontrol edilmesidir. Genel yapısı şu şekildedir:



switch(i) {

   case 1 : printf("Bir");break;

   case 2 : printf("İki");break;

   default : printf("Hiçbiri");

}
 
  Burada i kontrol edeceğimiz değişken, case'ler ise bu değişkene ait durumlardır.
Case'in sonunda da bu durum gerçekleştiğinde yapılacak işlem yazılır. Yukarıdaki kodda
i değişkeni 1 ise ekrana 'bir', i değişkeni 2 ise 'iki' yazılmıştır. Her case sonu 
break ile biter. 
  Default ise case'lerin hiçbiri gerçekleşmediğinde yapılacak olan varsayılan işlemdir.
Else gibi de düşünülebilir.
  Switch-case ile yapılan her işlem if ile de yapılabilir ancak bazı durumlarda yazım kolaylığı
sağlar. Tekrar tekrar if yazıp parantez açmaktansa koşulları bu şekilde tek satırda kontrol
eedebiliriz.
  If'ten dezavantajı ise case'ler tek karakteri kontrol eder. Örneğin isim karşılaştırken
case yerine if kullanmak mantıklıdır. Şimdi hesap makinesi örneğine bakalım:
 
switch (islem) {

     case '+' : sonuc= s1 + s2; break;

     case '-' : sonuc= s1 - s2; break;

     case '*' : sonuc= s1 * s2; break;

     case '/' : sonuc= s1 / s2; break;

     default : printf ("Hatali islem"); 

  }
 
  islem char tipinde bir değişkendir. Tıpkı if'te olduğu gibi değişkenin değeri
kontrol edilir. Eğer + ise sonuc değeri s1 ve s2'nin toplamıdır. Aynı şekilde
diğer işlemler de yaptırılır. Eğer bu dört işaretten farklı birşey girersek 
default değer devreye girer. 
 

Hiç yorum yok:

Yorum Gönder