Programmieren in C

Funktionen in C
Bedingungen und Operatoren

Du möchtest wissen, welche Bedingungen es in C gibt und wie die dazugehörigen Operatoren lauten? Hier erklären wir dir, wie du die einzelnen Operatoren verwenden kannst.

 

Wenn-Dann Bedingungen und Operatoren

Du hast bestimmt schon deine ersten Programme geschrieben. Eins hatten sie alle gemeinsam: Sie waren sequenziell. Das heißt, alle Anweisungen, die du geschrieben hast, wurden der Reihenfolge nach von oben nach unten ausgeführt.

Bedingungen C
Bedingungen

Willst du das ändern, brauchst du Fallunterscheidungen. Diese folgen einem einfachen Schema, das besagt: WENN eine Bedingung zusagt, DANN führe eine oder mehrere Anweisungen aus. Zum Formulieren dieser Bedingungen benötigst du aber sogenannte Operatoren. Diese kannst du nutzen, wenn ganzzahlige Ausdrücke vorliegen. Das heißt Werte vom Typ char, float, double oder int.

Beispiel einfache Bedingungen

Zunächst einmal definieren wir uns also zwei solche Werte x und y. Der Einfachheit halber sind diese beiden vom Typ int. Nun kannst du sie, genau wie normale Ziffern, in Klammern setzen. Das kommt dir jetzt zwar recht simpel vor, aber später wirst du das sehr oft benötigen. Sie sind außerdem vergleichbar. Das bedeutet, dass wir einen „größer als“, einen „kleiner als“ und einen „kleiner gleich“ bzw. „größer gleich“ Operator haben. Hier musst du allerdings beachten, dass sich die letzten beiden aus einem Gleichheitszeichen und dem jeweiligen Rechenzeichen zusammensetzen. Dasselbe gilt für den Gleichheitsoperator: Denn da das „normale“ Gleich bereits als Zuweisungsoperator verwendet wird, setzen wir ihn aus zwei Gleichheitszeichen zusammen.

logische Operatoren C
einfache Operatoren

Zusätzlich dazu gibt es in C noch einen weiteren Vergleich. Nämlich den ungleich-Operator. Weil auch für diesen kein ASCII-Zeichen zur Verfügung steht, verwenden wir ein Ausrufezeichen und ein Gleichheitszeichen hintereinander.

Komplexe Bedingungen

Wir wollen aber nicht nur diese einfachen Bedingungen aufstellen. Kommen wir deshalb zu den komplexen Bedingungen. Diese umfassen die logischen Operatoren „und“, „oder“ und „nicht“, die bereits existierende Bedingungen zu komplizierteren verbinden. Doch egal wie komplex oder simpel deine Bedingungen sind, wenn dein Programm sie nicht korrekt auswerten kann, bringen sie dir rein gar nichts.

Deswegen zeigen wir dir jetzt, wie dieses „Auswerten“ stattfindet: Dein Rechner interpretiert Wahrheitswerte als Zahlen. Im Falle der Programmiersprache C steht eine null für falsch und eine eins für wahr. Darin unterscheidet sie sich von Java insofern, dass in Java jeder Wert außer der null als wahr gilt. Das bedeutet für dich, dass zahlwertige Ausdrücke genau dann wahr sind, wenn sie nicht null sind.

logische Operatoren C
komplexe Bedingungen

Ähnlich ist es auch bei „und“ und „oder“, denn während x && y nur wahr ist, wenn x und y beide 1 sind, so kann x || y nur falsch sein, wenn sowohl x als auch y null sind.

Lazy Evaluation

Das klingt jetzt erst mal ganz simpel, aber es wird noch komplizierter, denn auch Computer werten Ausdrücke nacheinander aus. Dabei spielt es keine Rolle, dass sie es viel schneller tun als wir Menschen.

 

Das nennt man bei Rechnern lazy evaluation. Dabei werden Ausdrücke, wie das „und“ und das „oder“ nicht komplett berechnet, da schon feststeht, dass sie entweder falsch oder richtig sind, bevor der gesamte Ausdruck ausgewertet ist. Bei „und“ wäre das z.B. der Fall, wenn die erste Bedingung bereits null ist, da die Aussage damit niemals wahr werden könnte.

Regeln

Generell gelten für Rechner ähnliche Regeln wie für Menschen in der Mathematik. Die bekannte Regel „Klammer vor Potenz vor Punkt vor Strich“ gilt in der abgewandelten Form:

logische Operatoren C
Regeln

Dabei werden gleichrangige Operatoren von links nach rechts ausgewertet. Somit funktionieren aber auch Dinge wie das hier nicht mehr:

x<y<0

Denn das bedeutet nicht das, was du gewohnt bist, sondern das hier:

(x<y)<0

Also pass auf, denn sonst erhältst du nachher ganz andere Ergebnisse als gewollt. Um das zu verhindern, hilft es oft, sogenannte Wahrheitstabellen anzulegen. Diese stellen alle möglichen Auswertungen einer Behauptung dar und sind dazu geeignet, auch komplexere Bedingungen zu zerlegen und damit einfacher auswerten zu können.

Wie das funktioniert? Ganz einfach: Du schreibst in jede Spalte einen deiner Werte und alle möglichen Kombinationen von wahr und falsch, indem du wahr mit 1 und falsch mit null ersetzt. Dann kannst du entweder eine deiner Teilbedingungen oder gleich die ganze Bedingung in die nächste Spalte schreiben und mittels der Nullen und Einsen markieren, unter welchen Umständen sie wahr oder falsch wäre.

Hallo, leider nutzt du einen AdBlocker.

Auf Studyflix bieten wir dir kostenlos hochwertige Bildung an. Dies können wir nur durch die Unterstützung unserer Werbepartner tun.

Schalte bitte deinen Adblocker für Studyflix aus oder füge uns zu deinen Ausnahmen hinzu. Das tut dir nicht weh und hilft uns weiter.

Danke!
Dein Studyflix-Team

Wenn du nicht weißt, wie du deinen Adblocker deaktivierst oder Studyflix zu den Ausnahmen hinzufügst, findest du hier eine kurze Anleitung.