CodeBlanks Logo Icon CodeBlanks

switch deyimi

  • C kursu
  • Başlangıç
  • Ders 38/116
  • 5 dk

switch, case, break ve default ile çoklu durum seçmeyi öğrenirsin.

switch deyimi

switch bir deyimin değerine göre birden çok durumdan birini seçer. Her durum case ile başlar, break ile biter. Hiçbiri uymazsa default çalışır.

int day = 3;
switch (day) {
    case 1: printf("Pazartesi\n"); break;
    case 2: printf("Salı\n"); break;
    case 3: printf("Çarşamba\n"); break;
    default: printf("Bilinmiyor\n");
}

switch yalnızca tam sayı veya char değerleriyle çalışır; dize ile çalışmaz. Her case bir etikettir; eşleşme bulunca akış oradan başlar.

Düşme davranışı

break yazmazsan akış bir sonraki case'e düşer. Bu bazen istenen bir davranıştır; genellikle ise hatadır.

int n = 1;
switch (n) {
    case 1:
    case 2:
    case 3:
        printf("1-3 arası\n");
        break;
    default:
        printf("Dışında\n");
}

Bu örnekte case 1, case 2 ve case 3 aynı bloğu paylaşır. n=1, n=2 ve n=3 için aynı çıktıyı alırsın.

Uygulama Mevsimi switch ile yazdır

Bir C programı yaz. int month = 4; tanımla. switch (month) ile mevsim yazdır: case 12, case 1, case 2 için printf("Kış\n"); break;, case 3, case 4, case 5 için printf("İlkbahar\n"); break;, default için printf("Diğer\n");. #include <stdio.h> başta olsun.

Başlangıç kodu

main.c
#include <stdio.h>

int main(void) {
    // month tanımla, switch ile mevsim yazdır
    return 0;
}

Örnek çözüm

main.c
#include <stdio.h>

int main(void) {
    int month = 4;
    switch (month) {
        case 12: case 1: case 2:
            printf("Kış\n");
            break;
        case 3: case 4: case 5:
            printf("İlkbahar\n");
            break;
        default:
            printf("Diğer\n");
    }
    return 0;
}

Beklenen çıktı

İlkbahar

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 switch parçalarını eşleştir

Kavram Anlamı
switch Anahtar deyim
case Durum etiketi
break Durdur
default Varsayılan

2 switch'te break ne yapar?

main.c
case 1: printf("A"); break;
  • Akışı varsayılana götürür
  • Yeni bir case başlatır
  • Switch bloğundan çıkar Doğru cevap
  • Hiçbir şey

Açıklama: break switch bloğundan çıkmayı sağlar.

3 switch'i kapat

Soru
switch (n) {
    case 1: printf("A"); break;
    default: printf("Bilinmiyor");
____;
Cevap
switch (n) {
    case 1: printf("A"); break;
    default: printf("Bilinmiyor");
};

Açıklama: switch bloğu } ile kapanır.

Başlangıç bölümündeki tüm dersler