CodeBlanks Logo Icon CodeBlanks

Ternary operatörü

  • C kursu
  • Başlangıç
  • Ders 39/116
  • 4 dk

? : ile tek satırda koşullu ifade yazmayı öğrenirsin.

Ternary operatörü

? ve : ile tek satırda koşullu ifade yazılır. Yazım: koşul ? doğru_değer : yanlış_değer. Sonuç bir değer üretir; bu yüzden atamada kullanılabilir.

int a = 5, b = 9;
int max = (a > b) ? a : b;
printf("Büyük: %d\n", max);  // 9

Parantez koşul için şart değildir ama okunurluğu artırır. if/else ile aynı mantık: if (a > b) max = a; else max = b;. Ternary sade ifadelerde tercih edilir.

printf içinde ternary

Ternary doğrudan printf içinde de kullanılabilir; bu bir if/else bloğunu sade biçimde yazar.

int n = 7;
printf("%s\n", (n % 2 == 0) ? "Çift" : "Tek");

Burada %s ternary'nin döndürdüğü dizeyi basar. İç içe ternary de mümkündür ama okunurluğu düşürür; bu durumda if/else tercih edilir.

Uygulama Büyük olanı ternary ile bul

Bir C programı yaz. int a = 5; ve int b = 9; tanımla. int max = (a > b) ? a : b; ile büyük olanı bul. printf("Büyük: %d\n", max); ile yazdır. #include <stdio.h> başta olsun.

Başlangıç kodu

main.c
#include <stdio.h>

int main(void) {
    // a ve b tanımla, ternary ile max bul, yazdır
    return 0;
}

Örnek çözüm

main.c
#include <stdio.h>

int main(void) {
    int a = 5;
    int b = 9;
    int max = (a > b) ? a : b;
    printf("Büyük: %d\n", max);
    return 0;
}

Beklenen çıktı

Büyük: 9

Soru ve cevaplar

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

1 (a > b) ? a : b ne döndürür?

main.c
int a = 5, b = 9;
int max = (a > b) ? a : b;
  • Her zaman a
  • Her zaman b
  • Toplamları
  • Büyük olanı Doğru cevap

Açıklama: Koşul doğruysa a, yanlışsa b; yani büyük olanı verir.

2 Ternary'i tamamla

Soru
int sign = (x >= 0) ? 1 : ____;
Cevap
int sign = (x >= 0) ? 1 : -1;

Açıklama: Negatif sayılar için negatif işaret.

3 Ternary ve if/else eşleştir

Kavram Anlamı
koşul ? Koşul denetimi
: doğru Birinci değer
: yanlış İkinci değer
if/else Bloklar

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