Programmieren in C

Operatoren Grundwissen

Du möchtest mehr über die logischen Vergleichsoperatoren in C erfahren? Wir erklären dir, welche speziellen Operatoren es gibt.

 

Der ternäre Operator

C stellt dir einen speziellen Operator zur Verfügung. Dieser sieht in etwa so aus:

(a<b)?a:b

Damit ist diese Fallunterscheidung so klein, dass wir sie einfach in eine andere Funktion, wie zum Beispiel die printf-Funktion, packen können:

printf(``\%i,\ (a<b)?a:b)

Aber was genau macht dieser Operator denn nun? Er erfüllt im Prinzip denselben Zweck wie eine if-else-Anweisung. Dabei steht in der vorderen Klammer die Bedingung, gefolgt von einem Fragezeichen, das das Bedingungsende kennzeichnet. Danach folgt direkt die Anweisung für den Wahrheitsfall.

logischer Operator C
ternärer Operator

Diesen trennen wir durch einen Doppelpunkt von unserem alternativen Ausdruck, der ausgeführt wird, sollte unsere Bedingung falsch sein. In unserem Fall überprüft der Operator also, ob a kleiner b ist und gibt im Wahrheitsfall a, ansonsten b aus.

Wie du siehst, hat dieser Operator drei Teile. Deswegen nennt man ihn auch den ternären Operator. Als Bedingungen können wir hier alle Vergleichsoperatoren verwenden. Jedoch dürfen wir bei bedingungsabhängigen Anweisungen nur einfache Rechenoperationen verwenden und nur eine Anweisung pro Fall angeben. Da die Ausdrücke, aus denen er besteht, ziemlich lang werden können, ist dieser Operator allerdings nicht immer die übersichtlichste Möglichkeit eine Fallunterscheidung darzustellen. Du kannst ihn deshalb auch in seine Bestandteile aufteilen, um ihn besser lesen zu können.

 

Weitere Operatoren

So, nun können wir uns in sehr verkürzter Weise ausdrücken, aber etwas fehlt noch. Solltest du vorher schon in einer anderen Programmiersprache geübt gewesen sein, kennst du bestimmt mehr Vergleichsoperatoren als nur „und“ und „oder“. Für dich haben wir hier einen kleinen Überblick über die wichtigsten: Viele Umsteiger sind es gewohnt, mit dem NAND-Operator zu arbeiten. Dieser wird auch als „nicht-und“ bezeichnet. Das bedeutet, er ist immer wahr, außer beide Aussagen sind wahr. Dabei ist die Klammer wichtig, denn sonst stimmen deine Ergebnisse nachher nicht.

Noch ein praktisches Werkzeug ist der NOR-Operator. Er bildet die weder-noch-Unterscheidung ab. Er ist immer dann wahr, wenn beide Argumente falsch sind. Als drittes gibt es noch den XOR-Operator, der auch als „exklusives oder“ oder Antivalenz bezeichnet wird. Er ist eigentlich nichts Anderes als ein „entweder oder“. Deshalb ist er auch nur wahr, wenn ein Faktor falsch und einer wahr ist.

Vergleichsoperatoren C
wichtigste Vergleichsoperatoren

Nummer vier auf der Liste ist der XNOR-Operator. Er heißt auch exklusives „nicht-oder“ oder Äquivalenz. Das bedeutet eigentlich nichts Anderes als dass er abbildet, dass aus a b folgt. Aus diesem Grund ist er immer wahr, wenn beide Variablen denselben Zustand aufweisen. Im Klartext heißt das: Er ist wahr, wenn a und b beide wahr sind oder wenn a und b beide falsch sind. Des Weiteren gibt es noch die Implikation. Sie ist immer wahr, außer a ist wahr und b falsch. Das liegt daran, dass man in der theoretischen Informatik auch aus Falschem Richtiges folgern kann, aus Richtigem aber nichts Falsches.

Wie du siehst, kannst du kompliziertere Operatoren auch in C benutzen, nur musst du etwas kreativ werden und sie dir selbst basteln.

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. Bitte lade anschließend die Seite neu.