Menu
CoddyTech

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

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

Birden fazla koşul denetlenirken program, nihai yanıtı öğrenir öğrenmez denetlemeyi durdurur. Buna kısa devre değerlendirmesi 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ğerlendirmez. Sıralamayı tersine çevirseydik:

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

Bu, bir hataya yol açar çünkü y 0'a bölünecektir ve bu C'de tanımsızdır. Bu nedenle, doğru ve etkili, ancak hatasız kod yazabilmek 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, b < 2 ve d < 10 değerlendirilmeyecektir; çünkü a > 0 ve c < -5 ifadelerinin ikisi de yanlıştır.

challenge icon

Görev

Kolay

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

Şu değişkenleri başlat:

  • isSunny değerini 1 (doğru) olarak ayarla
  • windSpeed değerini 5.4 olarak ayarla
  • temperature değerini 23 olarak ayarla
  • solarPanelOutput değerini 9 olarak ayarla
  • isCloudy değerini 0 (yanlış) olarak ayarla

Şu koşulların TÜMÜNÜ denetleyen tek bir mantıksal ifade oluştur:

  • Hava güneşli
  • Rüzgâr hızı 10'dan düşük
  • Güneş paneli çıkışı 15'ten düşük
  • Sıcaklık 20'nin üzerinde VEYA hava bulutlu değil

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

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ğıdaki kısmı değiştirme
    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.

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

Kendi başına pratik yap: Online C derleyicisi