C dili

C Programlama Dilinde Switch/ Case Yapısının Kullanımı

Switch deyimi bir değişken ifadesinin isteğe göre sayı veya char veri tipindeki farklı durumlarına göre daha önceden belirtilmiş çok sayıda  işlemlerin yapılmasını sağlar. Switch tek bir ifadenin değerine göre sonsuz sayıda çalışma yolu sağlayabilecek  bir deyimdir. Switch deyimi bazı if-else akışlarının daha kolay yol ile gösterimi olarak bizlere avantaj sağlar.

switch(a){
case 1:deyim1;
case 2: deyim2;
case 3:deyim3;
} if(a=1)
{
deyim1;
}else if(a=2)
{
deyim2;

}else if(a=3)
{
deyim3;
}……

Switch deyiminin kullanımını genel olarak şu şekilde yapabiliriz; öncelikle”switch” kelimesi yazılır ve yanına () açılıp değişkenimiz içine yazılır.Burada if döngüsündeki gibi yine ; kullanmamaya dikkat etmeliyiz.Sonrasında ise {} açılıp içine case DURUM1: değişkenin DURUM1 olması halinde gerçekleşmesi istenen komutlar; yazılıp kullanıma hazır hale getirebiliriz.

NOT:SWİTCH kelimesinden sonra verilen değişken yada ifade char veya int olabilir ama string veya float olamaz.Aynı şekilde case kelimesinden sonrada int veya char sabiti kullanılır.Ama char kullanılıyorsa bu sabit tek tırnak içerisinde gösterilir.

switch (getchar()){
case ‘A’ :printf(“a toplam b=%d”,a+b);
case ‘S’: printf(“a-b =%d”,a-b);
case ‘3’: printf(“a carpım b=%d”,a*b);
case ‘4’: printf(“a bolum b=%f”,(float)a/(float)b);

}

int durum;

switch (durum){
case 1 :printf(“a toplam b=%d”,a+b);
case 2: printf(“a-b =%d”,a-b);
case  3: printf(“a carpım b=%d”,a*b);
case 4: printf(“a bolum b=%f”,(float)a/(float)b);

bu durumlara örnek verilebilir.Burada belirtilen durum switch deyiminin temel yapısı olmasına rağmen kullanım sırasında belli komutlarla beraber kullanılır.Bunlardan öncelikle break komutunu inceleyelim.

switch (getchar()) {
case ‘0’: printf(“sıfır\n”); break;
case ‘1’: printf(“bir\n”); break;
case ‘2’: printf(“iki\n”); break;
case ‘3’: printf(“üç\n”); break;
case ‘4’: printf(“dört\n”); break;
case ‘5’: printf(“beş\n”); break;
default : printf(“gecersiz!\n”);
}
return 0;

break komutunun kullanımı yukarıdaki şekildeki gibidir. Görüldüğü üzere her case ifadesinden sonra break komutu gelmektedir.Bu komutun işlevi döngüde kendisinden sonra gelen bütün durumların atlanıp döngü dışına sağlamaktır.Aksi halde sistem önceden belirtilmiş duruma uyan satır komutundan itibaren aşağı doru diğer satırların komutlarını durum uyuşması gözetmeksizin gerçekleştirir.Örneklemek grekirse üsteki kod satırlarında break kullanmamış olsaydık derleyicimiz eğer 2 girişi yapılıp çalıştırıldığında birinci satırı çalıştırmayıp 2. satır ve ondan sonraki satırların içerdikleri komutları gerçekleştirir.Bu duruma “default :” satırıda dahildir.

İkinci olarak değineceğim komut ise default komutu ise girilen değişken değerinin önceden belirtilmiş case satırlarının durumlarına uymaması halinde istenilen işlemi gerçekleştirilmesini sağlar.Yine yukarıdaki örnek üzerinden gidecek olursak switch(7) gibi bir başlangıçta derleyici sadece default komutunu çalıştırır.

GOTO KOMUTU

#include<stdio.h>
void main()
{
printf(“toplama islemi yapmak icin 1\n “);
printf(“cikarma islemi yapmak icin 2\n “);
printf(“carpma islemi yapmak icin 3\n “);
printf(“bolme islemi yapmak icin 4\n”);
int a,b;
printf(“a ve b sayisini giriniz \n :”);scanf(“%d%d”,&a,&b);
git: printf(“islemi seciniz:\n”);
getchar();
switch (getchar()){
case ‘A’ :printf(“a toplam b=%d”,a+b);break;
case ‘S’: printf(“a-b =%d”,a-b);break;
case ‘3’: printf(“a carpım b=%d”,a*b);break;
case ‘4’: printf(“a bolum b=%f”,(float)a/(float)b);break;
default: printf(“tekrar deneyin”); goto git;

Yukarıdaki örnekten de açıkça görüleceği üzere goto komutunun önünde yer alan ifadenin bulunduğu yerde derleyici goto komutunu okuduktan sonra çalışmaya devam eder.

Fatih ALPARSLAN

27/04/2015

TRABZON

C Programlama Dilinde Switch/ Case Yapısının Kullanımı&rdquo için 1 yorum

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Google fotoğrafı

Google hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Connecting to %s

%d blogcu bunu beğendi: