Bu yazımızda C programlama dilinde koşullu ifadelerden birisi olan switch-case yapısı konusunu inceleyeceğiz. Bir önceki yazımızda bahsettiğimiz diğer bir koşullu ifade olan if-else yapısı hakkında bilgi almak isterseniz buraya tıklayarak ilgili yazımıza gidebilirsiniz.

C Programlama Switch-Case Kullanımı

C dilinde Switch case, if-else yapısına çok benzeyen bir diğer koşullu ifadedir. İkisi de durum kontrolü için kullanılır fakat switch-case’de kesin ifade kullanmak zorunludur. Yani bir bir aralık giremeyiz.

Temel Switch-Case Genel Yapısı

switch (değişken){
     case sabit1:
         işlem-satırı; break;
     case sabit2:
         işlem-satırı; break;
     .
     .
     .
     case sabitN:
         işlem-satırı; break;
     default:
         işlem-satırı;
}

Yukarıdaki yapıyı inceleyelim. Koşulu kontrol edeceğimiz değişken switch içerisindeki değişkendir. Değişkenin değerine göre gerekli koşulu sağlayan case ifadesinin içerisindeki kodlar çalışır. Her işlem satırının sonunda gördüğümüz break ifadesi, gerekli koşulu sağlanmışsa diğer koşulları kontrol etmeden switch-case yapısından çıkılmasını sağlar. Son olarak, eğer sabitlerden hiçbiri durumu sağlayamıyorsa, deault içerisindeki işlem satırı çalışır.

C Programlama Switch-Case Örnek Soru

Yukarıda öğrendiğimiz bilgileri pekiştirmek adına basit bir switch-case örnek sorusu çözelim.

Soru : Kullanıcıdan 1 ile 7 arasında bir sayı girmesini isteyiniz. Girilen değere göre hangi gün olduğunu ekrana yazdırınız.

Cevap :

#include <stdio.h>

int main(){
	int gun;
	
	printf("1-7 arasinda bir sayi giriniz. "); 
	scanf("%d", &gun);
     
	switch(gun){ 
		case 1:
			printf("Pazartesi"); break; 
		case 2:
			printf("Sali"); break; 
		case 3:     
			printf("Carsamba"); break;
		case 4:
			printf("Persembe"); break; 
		case 5:
			printf("Cuma"); break;
		case 6:
			printf("Cumartesi"); break;
		case 7:
			printf("Pazar"); break;
		default:
			printf("1 ile 7 arasinda sayi girmelisiniz.");
	}
}

Çıktısı :

Bu yazı dikkatini çekebilir.   C Programlama ile Alt Satıra Geçme
C Programlama Switch-Case Yapısı - C Programlama Switch-Case Örneği

Gördüğünüz üzere girilen sayıya göre haftanın o gününü ekrana yazdırıyor. Eğer 1 ile 7 dışında bir sayı girilseydi default içerisindeki kod satırı çalışacaktı.


Soru 2: C programlama dilinde kullanıcıdan alınan değere göre sonuç veren hesap makinesi kodunu switch case kullanarak yazınız.

Cevap :

#include <stdio.h>

int main(){

    char secim;
    double sayi1,sayi2;

    printf("Bir islem secin [+, -, *,/ ] : ");
    scanf("%c", &secim);

    printf("Iki sayi girin: ");
    scanf("%lf %lf",&sayi1, &sayi2);

    switch(secim)
    {
        case '+':
            printf("%.1lf + %.1lf = %.1lf",sayi1, sayi2, sayi1 + sayi2);
            break;

        case '-':
            printf("%.1lf - %.1lf = %.1lf",sayi1, sayi2, sayi1 - sayi2);
            break;

        case '*':
            printf("%.1lf * %.1lf = %.1lf",sayi1, sayi2, sayi1 * sayi2);
            break;

        case '/':
            printf("%.1lf / %.1lf = %.1lf",sayi1, sayi2, sayi1 / sayi2);
            break;

        // hiçbir operatör seçilmedi(+, -, *, /)
        default:
            printf("Yanlis secim yaptiniz");
    }

}

Çıktısı :

C Programlama Switch Case Hesap Makinesi

Ayrıca C dilinde bir başka switch case örneği olan ‘C Programlama İle 4 İşlem Yapan Program‘ yazımızı da okuyabilirsiniz.


Bu yazımızda C programlama switch-case yapısı adlı konuyu işledik. Umarım faydalı olmuştur. Sorularınız var ise yorum kısmında belirtebilirsiniz. Ayrıca diğer c programlama derslerimize göz atmak isterseniz buraya tıklayarak tümüne ulaşabilirsiniz.