Switch Case C Programlama Örnekleri
Switch Case C Programlama Örnekleri
C programlama dili, kontrol yapıları açısından oldukça zengin bir dildir. Bu kontrol yapılarından biri de “switch-case” yapısıdır. Switch-case, belirli bir değişkenin değerine göre farklı kod bloklarının çalıştırılmasını sağlar. Bu yapı, özellikle birden fazla koşulun kontrol edilmesi gereken durumlarda oldukça kullanışlıdır. Bu makalede, switch-case yapısının nasıl kullanıldığını, avantajlarını ve örneklerini inceleyeceğiz.
Switch-Case Yapısının Temel Kullanımı
Switch-case yapısı, bir değişkenin farklı değerlerine göre farklı işlemler yapmak için kullanılır. Temel sözdizimi aşağıdaki gibidir:
“`c
switch (değişken) {
case değer1:
// değer1 için yapılacak işlemler
break;
case değer2:
// değer2 için yapılacak işlemler
break;
default:
// hiçbiriyle eşleşmezse yapılacak işlemler
}
“`
Burada, `değişken` ifadesi bir tamsayı veya karakter olabilir. `case` ifadeleri, değişkenin alabileceği değerleri belirtir. Her bir case bloğunun sonunda `break` ifadesi yer alır. Bu ifade, switch bloğunun sonlanmasını sağlar. Eğer `break` ifadesi kullanılmazsa, program akışı bir sonraki case bloğuna geçer (fall-through durumu).
Switch-Case Kullanımının Avantajları
1. **Okunabilirlik**: Birden fazla if-else ifadesi yerine switch-case kullanmak, kodun daha okunabilir ve düzenli olmasını sağlar.
2. **Performans**: Özellikle çok sayıda koşul varsa, switch-case yapısı genellikle daha hızlı çalışır. Çünkü derleyici, switch-case yapısını optimize edebilir.
3. **Kolay Bakım**: Yeni durumlar eklemek veya mevcut durumları değiştirmek, switch-case yapısı kullanıldığında daha kolaydır.
Örnek 1: Basit Bir Switch-Case Kullanımı
Aşağıda, kullanıcıdan bir gün numarası alarak o günün adını yazdıran basit bir switch-case örneği bulunmaktadır:
“`c
#include
int main() {
int gun;
printf(“Bir gün numarası girin (1-7): “);
scanf(“%d”, &gun);
switch (gun) {
case 1:
printf(“Pazartesi\n”);
break;
case 2:
printf(“Salı\n”);
break;
case 3:
printf(“Çarşamba\n”);
break;
case 4:
printf(“Perşembe\n”);
break;
case 5:
printf(“Cuma\n”);
break;
case 6:
printf(“Cumartesi\n”);
break;
case 7:
printf(“Pazar\n”);
break;
default:
printf(“Geçersiz gün numarası.\n”);
}
return 0;
}
“`
Bu program, kullanıcıdan bir gün numarası alır ve bu numaraya karşılık gelen günün adını ekrana yazdırır. Eğer kullanıcı geçersiz bir numara girerse, “Geçersiz gün numarası.” mesajı gösterilir.
Örnek 2: Not Hesaplama
Bir başka örnek, öğrencilerin notlarına göre harf notu hesaplamaktır:
“`c
#include
int main() {
int not;
printf(“Notunuzu girin (0-100): “);
scanf(“%d”, ¬);
switch (not / 10) {
case 10:
case 9:
printf(“Harf Notu: A\n”);
break;
case 8:
printf(“Harf Notu: B\n”);
break;
case 7:
printf(“Harf Notu: C\n”);
break;
case 6:
printf(“Harf Notu: D\n”);
break;
case 5:
case 4:
case 3:
case 2:
case 1:
case 0:
printf(“Harf Notu: F\n”);
break;
default:
printf(“Geçersiz not.\n”);
}
return 0;
}
“`
Bu program, kullanıcının girdiği notu 10’a böler ve çıkan sonuca göre harf notunu belirler. Örneğin, 85 girişi “B” harf notunu verecektir.
Örnek 3: Menü Uygulaması
Aşağıda, kullanıcıya bir menü sunarak seçimine göre farklı işlemler gerçekleştiren bir örnek bulunmaktadır:
“`c
#include
int main() {
int secim;
printf(“1. Toplama\n”);
printf(“2. Çıkarma\n”);
printf(“3. Çarpma\n”);
printf(“4. Bölme\n”);
printf(“Bir işlem seçin (1-4): “);
scanf(“%d”, &secim);
int a, b;
printf(“İlk sayıyı girin: “);
scanf(“%d”, &a);
printf(“İkinci sayıyı girin: “);
scanf(“%d”, &b);
switch (secim) {
case 1:
printf(“Sonuç: %d\n”, a + b);
break;
case 2:
printf(“Sonuç: %d\n”, a – b);
break;
case 3:
printf(“Sonuç: %d\n”, a * b);
break;
case 4:
if (b != 0) {
printf(“Sonuç: %.2f\n”, (float)a / b);
} else {
printf(“Bir sayıyı sıfıra bölemezsiniz.\n”);
}
break;
default:
printf(“Geçersiz seçim.\n”);
}
return 0;
}
“`
Bu program, kullanıcıya dört temel matematiksel işlem sunar ve kullanıcıdan iki sayı alarak seçilen işleme göre sonucu hesaplar.
SSS (Sıkça Sorulan Sorular)
1. Switch-case yapısının avantajları nelerdir?
Switch-case yapısı, okunabilirliği artırır, performansı iyileştirir ve kodun bakımını kolaylaştırır.
2. Switch-case yapısında neden break ifadesi kullanılır?
Break ifadesi, bir case bloğunun sonlandığını belirtir. Kullanılmazsa, program akışı bir sonraki case bloğuna geçer.
3. Switch-case yapısında hangi veri türleri kullanılabilir?
Switch-case yapısında genellikle tamsayı ve karakter veri türleri kullanılır.
4. Switch-case yapısı, if-else yapısına göre ne zaman tercih edilmelidir?
Birden fazla koşulun kontrol edilmesi gereken durumlarda, switch-case yapısı daha okunabilir ve düzenli bir çözüm sunar.
5. Switch-case yapısında default durumu ne işe yarar?
Default durumu, hiçbir case ile eşleşmeyen durumlar için bir yedekleme sağlar ve kullanıcıya geçersiz bir giriş yaptığında bilgi verir.
Bu makalede, C programlama dilinde switch-case yapısının nasıl kullanılacağını, avantajlarını ve örneklerini inceledik. Switch-case yapısı, programlama sürecinde oldukça faydalı bir kontrol yapısıdır ve doğru kullanıldığında kodunuzu daha verimli hale getirebilir.