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.
Görev
KolayGü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:
isSunnydeğerini 1 (doğru) olarak ayarlawindSpeeddeğerini 5.4 olarak ayarlatemperaturedeğerini 23 olarak ayarlasolarPanelOutputdeğerini 9 olarak ayarlaisCloudydeğ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;
}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