Bu eğitimde, bir örnek yardımıyla C programlamada switch deyimini oluşturmayı öğreneceksiniz.
Switch deyimi, birçok alternatif arasında bir kod bloğu yürütmemize izin verir.
Aynı şeyi if… else… if
merdiven için de yapabilirsiniz. Bununla birlikte, switch
ifadenin sözdiziminin okunması ve yazılması çok daha kolaydır.
Anahtar sözdizimi… durum
switch (expression) ( case constant1: // statements break; case constant2: // statements break;… default: // default statements )
Switch ifadesi nasıl çalışır?
İfade bir kez değerlendirilir ve her bir durum etiketinin değerleri ile karşılaştırılır.
- Bir eşleşme varsa, eşleşen etiketten sonraki ilgili ifadeler yürütülür. Örneğin, ifadenin değeri sabit2'ye eşitse , karşılaşılana
case constant2:
kadar sonraki ifadeler yürütülürbreak
. - Eşleşme yoksa, varsayılan ifadeler yürütülür.
Kullanmazsak break
, eşleşen etiketten sonraki tüm ifadeler yürütülür.
Bu arada, ifadenin default
içindeki switch
cümle isteğe bağlıdır.
switch İfadesi Akış Şeması
Örnek: Basit Hesap Makinesi
// Program to create a simple calculator #include int main() ( char operator; double n1, n2; printf("Enter an operator (+, -, *, /): "); scanf("%c", &operator); printf("Enter two operands: "); scanf("%lf %lf",&n1, &n2); switch(operator) ( case '+': printf("%.1lf + %.1lf = %.1lf",n1, n2, n1+n2); break; case '-': printf("%.1lf - %.1lf = %.1lf",n1, n2, n1-n2); break; case '*': printf("%.1lf * %.1lf = %.1lf",n1, n2, n1*n2); break; case '/': printf("%.1lf / %.1lf = %.1lf",n1, n2, n1/n2); break; // operator doesn't match any case constant +, -, *, / default: printf("Error! operator is not correct"); ) return 0; )
Çıktı
Bir operatör girin (+, -, *,): - İki işlenen girin: 32,5 12,4 32,5 - 12,4 = 20,1
Kullanıcı tarafından girilen operatör, operatör değişkeninde saklanır. Ve, 32.5 ve 12.4 iki işlenen sırasıyla n1 ve n2 değişkenlerinde saklanır.
Operatör olduğu -
için programın kontrolü atlar
printf ("%. 1lf -% .1lf =% .1lf", n1, n2, n1-n2);
Son olarak, break ifadesi ifadeyi sonlandırır switch
.