Logische Operatoren Teil 3
Teil des Abschnitts Grundlagen der C-Journey von Coddy. Lektion 23 von 63.
Bei der Überprüfung mehrerer Bedingungen hört das Programm mit der Überprüfung auf, sobald es die endgültige Antwort kennt. Das nennt man Kurzschlussauswertung.
Zum Beispiel:
int x = 0;
int y = 5;
int result = (x != 0) && (y / x > 2);Hier ist x gleich 0, daher wird y / x > 2 nicht ausgewertet. Wenn wir die Reihenfolge umkehren würden:
int result = (y / x > 2) && (x != 0);Dies führt zu einem Fehler, weil y durch 0 geteilt wird, was in C nicht definiert ist. Es ist daher eine gute Praxis, Operationen sorgfältig zu durchdenken, damit du korrekten und effizienten, aber fehlerfreien Code schreiben kannst.
Diese Technik wird verwendet, um die Auswertung logischer Ausdrücke zu optimieren. Zum Beispiel:
int a = 0;
int b = 2;
int c = 3;
int d = 5;
int result = (a > 0 && b < 2) || (c < -5 && d < 10);In diesem Beispiel werden b < 2 und d < 10 nicht ausgewertet, weil a > 0 und c < -5 beide falsch sind.
Aufgabe
EinfachErstelle ein Programm, das entscheidet, ob es ein guter Tag für die Energieerzeugung mit Solarmodulen ist.
Initialisiere diese Variablen:
isSunnymit dem Wert 1 (true)windSpeedmit dem Wert 5.4temperaturemit dem Wert 23solarPanelOutputmit dem Wert 9isCloudymit dem Wert 0 (false)
Erstelle einen logischen Ausdruck, der ALLE folgenden Bedingungen überprüft:
- Es ist sonnig.
- Die Windgeschwindigkeit ist kleiner als 10.
- Die Leistung des Solarmoduls ist kleiner als 15.
- Die Temperatur liegt über 20 ODER es gibt keine Wolken.
Gib "Good day for solar energy" aus, wenn alle Bedingungen erfüllt sind, andernfalls gib "Not ideal for solar energy" aus.
Probier es selbst
#include <stdio.h>
int main() {
// Variablen initialisieren
int isSunny = 1;
float windSpeed = 5.4;
int temperature = 23;
int solarPanelOutput = 9;
int isCloudy = 0;
// Logischen Ausdruck erstellen
int isGoodDay =
// Den Code darunter nicht ändern
if (isGoodDay) {
printf("Good day for solar energy\n");
} else {
printf("Not ideal for solar energy\n");
}
return 0;
}Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Grundlagen
2Variablen
DatentypenGanzzahlGleitkommazahl – DoubleZeichenBoolesche WerteKonstantenprintf-GrundlagenRegeln für die Benennung von VariablenTypumwandlung Teil 1Typumwandlung Teil 2Wiederholungsaufgabe3Operatoren
Arithmetische OperatorenModulo-OperatorInkrement/DekrementZuweisungsoperatorenVergleichsoperatorenLogische Operatoren Teil 1Logische Operatoren Teil 2Logische Operatoren Teil 3Wiederholungs-ChallengeÜbe selbstständig: Online-C-Compiler