08.11.2014 Views

c_kitap

c_kitap

c_kitap

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

C ve Sistem Programcıları Derneği - C Ders Notları - Necati Ergin<br />

#include <br />

int main()<br />

{<br />

int a;<br />

}<br />

printf("bir sayi girin: ");<br />

scanf("%d", &a);<br />

switch (a) {<br />

case 1 : printf("bir\n"); break;<br />

case 2 : printf("iki\n"); break;<br />

case 3 : printf("üç\n"); break;<br />

case 4 : printf("dört\n"); break;<br />

case 5 : printf("beş\n");<br />

}<br />

return 0;<br />

Uygulamalarda, switch deyiminde çoğunlukla her case ifadesi için bir break deyiminin<br />

kullanılır. Tabi böyle bir zorunluluk yoktur.<br />

case ifadelerini izleyen ":" atomundan sonra istenilen sayıda deyim olabilir. Bir case<br />

ifadesini birden fazla deyimin izlemesi durumunda bu deyimlerin bloklanmasına gerek<br />

yoktur. Yani bir case ifadesini izleyen tüm deyimler, bir blok içindeymiş gibi ele alınır.<br />

case ifadelerinin belirli bir sırayı izlemesi gibi bir zorunluluk yoktur.<br />

default case<br />

default bir anahtar sözcüktür. switch deyimi gövdesine yerleştirilen default anahtar<br />

sözcüğünü ':' atomu izler. Oluşturulan bu case'e default case denir.<br />

Eşdeğer bir case ifadesi bulunamazsa programın akışı default case içine girer.<br />

Daha önce yazılan switch deyimine default case ekleniyor.<br />

#include <br />

int main()<br />

{<br />

int a;<br />

}<br />

printf("bir sayi girin: ");<br />

scanf("%d", &a);<br />

switch (a) {<br />

case 1 : printf("bir\n"); break;<br />

case 2 : printf("iki\n"); break;<br />

case 3 : printf("üç\n"); break;<br />

case 4 : printf("dört\n"); break;<br />

case 5 : printf("dört\n"); break;<br />

default: printf("hiçbiri\n");<br />

}<br />

return 0;<br />

Yukarıda da anlatıldığı gibi switch ayracı içindeki ifadenin sayısal değerine eşit bir case<br />

ifadesi bulunana kadar derleme yönünde, yani yukarıdan aşağıya doğru, tüm case<br />

ifadeleri sırasıyla sınanır. case ifadelerinin oluşma sıklığı ya da olasılığı hakkında elde bir<br />

bilgi varsa, olasılığı ya da sıklığı yüksek olan case ifadelerinin daha önce yazılması<br />

gereksiz karşılaştırma sayısını azaltabilir.<br />

178/529

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!