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 değerine eşittir, bu nedenle y / x > 2 ifadesini değerlendirmeyecektir. Sırayı tersine çevirecek olsaydık:
int result = (y / x > 2) && (x != 0);Bu durum bir hatayla sonuçlanacaktır çünkü y, C'de tanımsız olan 0'a bölünecektir. Bu nedenle işlemler üzerinde iyice düşünmek iyi bir uygulamadır, böylece doğru, etkili ve hatasız bir kod elde edebilirsiniz.
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ış olduğu için b < 2 ve d < 10 değerlendirilmeyecektir.
Görev
KolayGüneş paneli enerji üretimi için iyi bir gün olup olmadığına karar veren bir program oluşturun
Aşağıdaki değişkenleri başlatın:
- 1 (true) değeri ile
isSunny - 5.4 değeri ile
windSpeed - 23 değeri ile
temperature - 9 değeri ile
solarPanelOutput - 0 (false) değeri ile
isCloudy
Bu koşulların TÜMÜNÜ kontrol eden tek bir mantıksal ifade oluşturun:
- Hava güneşli
- Rüzgar hızı 10'dan küçük
- Güneş paneli çıkışı 15'ten küçük
- Sıcaklık 20'nin üzerinde VEYA bulut yok
Tüm koşullar sağlanıyorsa "Good day for solar energy", 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ğıdakini değiştirme
if (isGoodDay) {
printf("Good day for solar energy\n");
} else {
printf("Not ideal for solar energy\n");
}
return 0;
}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
2Değişkenler
Veri TipleriTam Sayı (Integer)Float - DoubleKarakterlerBooleanlarSabitlerprintf TemelleriDeğişken İsimlendirme KurallarıTip Dönüşümü Bölüm 1Tip Dönüşümü Bölüm 2Özet Meydan Okuması3Operatörler
Aritmetik OperatörlerModül OperatörüArtırma/AzaltmaAtama Operatörleriİlişkisel OperatörlerMantıksal Operatörler Bölüm 1Mantıksal Operatörler Bölüm 2Mantıksal Operatörler Bölüm 3Özet Meydan OkumasıKendi başına pratik yap: Online C derleyicisi