Menu
Coddy logo textTech

Ternary Koşul Operatörü

Coddy'nin C Journey'sinin Fundamentals bölümünün bir parçası — ders 29 / 63.

Ternary koşul operatörü, bir if-else ifadesini tek bir satırda ifade etmenin kısa bir yoludur.

Sözdizimi şu şekildedir:

condition ? value_if_true : value_if_false;

Bir örneğe bakalım. İlk olarak, işte geleneksel bir if-else ifadesi:

int max;
if (a > b) {
    max = a;
} else {
    max = b;
}

Şimdi, bunu ternary operatörünü kullanarak yeniden yazalım:

int max = (a > b) ? a : b;

Bu örnekte:

  • a > b koşuldur
  • Koşul doğruysa, a döndürülür
  • Koşul yanlışsa, b döndürülür

Üçlü operatör (ternary operator) iç içe de kullanılabilir, ancak bu kodun okunmasını zorlaştırabilir:

int x = (a > b) ? ((a > c) ? a : c) : ((b > c) ? b : c);
challenge icon

Görev

Kolay

Koşul operatörünü kullanarak bir sayının pozitif, negatif veya sıfır olup olmadığını kontrol eden bir program oluşturun. Program şunları yapmalıdır:

  1. Kullanıcıdan bir tam sayı girişi alın.
  2. Sayının pozitif, negatif veya sıfır olduğunu belirlemek için koşul operatörünü kullanın.
  3. Sonucu şu biçimde yazdırın: "The number is [positive/negative/zero]".

Kopya kağıdı

Üçlü koşul operatörü (ternary conditional operator), bir if-else ifadesini tek bir satırda ifade etmek için kısa bir yol sağlar.

Sözdizimi:

condition ? value_if_true : value_if_false;

Geleneksel if-else ile üçlü operatörü karşılaştıran örnek:

// Geleneksel if-else
int max;
if (a > b) {
    max = a;
} else {
    max = b;
}

// Üçlü operatör
int max = (a > b) ? a : b;

Üçlü operatör iç içe yerleştirilebilir, ancak bu okunabilirliği azaltır:

int x = (a > b) ? ((a > c) ? a : c) : ((b > c) ? b : c);

Kendin dene

#include <stdio.h>

int main() {
    int number;
    scanf("%d", &number);
    
    // Kodunuzu aşağıya yazın
    char* result = 
    
    printf("The number is %s\n", result);
    return 0;
}
quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

Fundamentals bölümündeki tüm dersler