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şulu kontrol ederken program, nihai yanıtı bildiği anda kontrol etmeyi 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, y 0'a bölüneceği için bir hatayla sonuçlanır; bu işlem C'de tanımsızdır. Bu nedenle işlemleri önceden düşünmek, böylece doğru ve etkili, ancak hatasız kod elde edebilmek 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.
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:
- Değeri 1 (doğru) olan
isSunny - Değeri 5.4 olan
windSpeed - Değeri 23 olan
temperature - Değeri 9 olan
solarPanelOutput - Değeri 0 (yanlış) olan
isCloudy
TÜM bu koşulları denetleyen tek bir mantıksal ifade oluşturun:
- Hava güneşli
- Rüzgâr hızı 10'dan düşük
- Güneş paneli çıktısı 15'ten düşük
- Sıcaklık 20'nin üzerinde VEYA hiç 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.
Temeller bölümündeki tüm dersler
2Değişkenler
Veri TürleriTamsayıOndalık - DoubleKarakterlerBoolean'larSabitlerprintf TemelleriDeğişken Adlandırma KurallarıTür Dönüştürme 1. BölümTür Dönüştürme 2. BölümTekrar Mücadelesi3Operatörler
Aritmetik OperatörlerModül OperatörüArtırma/AzaltmaAtama OperatörleriKarşılaştırma OperatörleriMantıksal Operatörler Bölüm 1Mantıksal Operatörler Bölüm 2Mantıksal Operatörler Bölüm 3Tekrar MücadelesiKendi başına pratik yap: Online C derleyicisi