Menu
Coddy logo textTech

Logische Operatoren Teil 3

Teil des Abschnitts Fundamentals der C-Journey von Coddy. Lektion 23 von 63.

Beim Überprüfen mehrerer Bedingungen stoppt das Programm die Überprüfung, sobald es das Endergebnis kennt. Dies wird als Kurzschlussauswertung (Short-Circuit Evaluation) bezeichnet.

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, da y durch 0 geteilt wird, was in C undefiniert ist. Es ist daher eine gute Praxis, Operationen reiflich zu durchdenken, damit Sie korrekten und effektiven, aber fehlerfreien Code erhalten.

Diese Technik wird verwendet, um die Auswertung von logischen Ausdrücken 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, da a > 0 und c < -5 beide falsch sind.

challenge icon

Aufgabe

Einfach

Erstelle ein Programm, um zu entscheiden, ob es ein guter Tag für die Solarenergieerzeugung ist

Initialisiere diese Variablen:

  • isSunny mit dem Wert 1 (true)
  • windSpeed mit dem Wert 5.4
  • temperature mit dem Wert 23
  • solarPanelOutput mit dem Wert 9
  • isCloudy mit dem Wert 0 (false)

Erstelle einen logischen Ausdruck, der ALLE dieser Bedingungen prüft:

  • Es ist sonnig
  • Die Windgeschwindigkeit ist kleiner als 10
  • Die Solarpanel-Leistung 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;
    
    // Erstelle den logischen Ausdruck
    int isGoodDay = 
    
    // Nicht darunter ändern
    if (isGoodDay) {
        printf("Good day for solar energy\n");
    } else {
        printf("Not ideal for solar energy\n");
    }
    
    return 0;
}
quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Fundamentals

Übe selbstständig: Online-C-Compiler