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.
Görev
KolayGü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;
}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ı