Menu
Coddy logo textTech

Mantıksal Operatörler Bölüm 3

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

Birden fazla koşul kontrol edilirken, program nihai sonucu öğrendiği anda kontrol etmeyi durdurur. Buna kısa devre değerlendirmesi (short-circuit evaluation) denir.

Örneğin:

int x = 0;
int y = 5;
int result = (x != 0) && (y / x > 2);

Burada x, 0'a eşittir, bu nedenle y / x > 2 ifadesini değerlendirmeyecektir. Eğer sırayı tersine çevirseydik:

int result = (y / x > 2) && (x != 0);

Bu bir hataya neden olacaktır çünkü y 0'a bölünecektir, bu da C'de tanımsızdır. Bu nedenle, doğru ve etkili ancak hatasız bir kod elde edebilmek için işlemleri iyice düşünmek iyi bir uygulamadır.

Bu teknik, mantıksal ifadelerin değerlendirilmesini optimize etmek için kullanılır. Örneğin:

int a = 0;
int b = 2;
int c = 3;
int d = 5;
int result = (a > 0 && b < 2) || (c < -5 && d < 10);

Bu örnekte, a > 0 ve c < -5 ifadelerinin her ikisi de yanlış (false) olduğu için b < 2 ve d < 10 değerlendirilmeyecektir.

challenge icon

Görev

Kolay

Güneş paneli enerji üretimi için iyi bir gün olup olmadığına karar veren bir program oluşturun

Şu değişkenleri başlatın:

  • 1 (true) değeriyle isSunny
  • 5.4 değeriyle windSpeed
  • 23 değeriyle temperature
  • 9 değeriyle solarPanelOutput
  • 0 (false) değeriyle isCloudy

Bu koşulların TÜMÜNÜ kontrol eden bir mantıksal ifade oluşturun:

  • Hava güneşli
  • Rüzgar hızı 10'dan az
  • Güneş paneli çıkışı 15'ten az
  • Sıcaklık 20'nin üzerinde VEYA bulut yok

Tüm koşullar karşılanıyorsa "Good day for solar energy" yazdırın, aksi takdirde "Not ideal for solar energy" yazdırın.

Kendin dene

#include <stdio.h>

int main() {
    // Değişkenleri başlat
    int isSunny = 1;
    float windSpeed = 5.4;
    int temperature = 23;
    int solarPanelOutput = 9;
    int isCloudy = 0;
    
    // Mantıksal ifadeyi oluştur
    int isGoodDay = 
    
    // Aşağıyı değiştirmeyin
    if (isGoodDay) {
        printf("Good day for solar energy\n");
    } else {
        printf("Not ideal for solar energy\n");
    }
    
    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