C++

G.Eichelsdörfer - Staatliche Technikerschule Weilburg

Boolesche Operatoren

Typische boolesche Ausdrücke sind Wahl==3, i<10, k>5.
Diese Ausdrücke sind zur Programmlaufzeit eindeutig wahr oder falsch. Im mathematischen Sinne sind Aussagen solche Ausdrücke, die eindeutig wahr oder falsch sind.

Alle booleschen Operatoren bilden mit Operanden zur Laufzeit solche Aussagen. Man unterscheidet zwischen unären und binären Operatoren.

Unäre Operatoren werden auf einen Operanden angewendet.
Beispiel: -x kehrt das Vorzeichen des Wertes der Variablen x um.
Binäre Operatoren stehen zwischen zwei Operanden.
Beispiel: a < b vergleicht die Werte in a und b.
Es gibt sogar einen trinären Operator "?:", der sich mit drei Operanden beschäftigt.

Der Vorrat an Operatoren ist begrenzt. Die Sprachdefinition von C++ legt alle Operatoren fest, zusätzliche gibt es nicht.

Tabelle der booleschen Operatoren

Symbol unär binär Beispiel Bedeutung
<   X a<5 kleiner als (less than), hier: "a ist kleiner als 5."
>   X b>0 größer als (greater than), hier: "b ist größer als 0."
<=   X a<=10 kleiner oder gleich (less than or equal), hier: "a ist kleiner oder gleich 10."
>=   X b>=0 größer oder gleich (greater than or equal), hier: "b ist größer oder gleich 0."
==   X i==8 gleich (equal), hier: "i ist gleich 8."
!=   X c!=d ungleich, nicht gleich (not equal), hier: "c ist nicht gleich d."
! X   !(a<b) nicht (not), hier: "a istnichtkleiner als b."
&&   X a>5 && a<20 logisches UND (logical AND), hier: "a liegt zwischen 5 und 20."
||   X b<1 || b>9 logisches ODER (logical OR), hier: "b liegt außerhalb 1 bis 9."

Die letzten 3 Operatoren verknüpfen boolesche Ausdrücke, wodurch ein zusammengesetzter boolescher Ausdruck entsteht. Solche Ausdrücke können beliebig komplex zusammengesetzt werden. Wenn jedoch ein boolescher Ausdruck sehr komplex wird, dann ist er schwierig zu durchschauen. Ein solcher Ausdruck ist schwierig zu pflegen, was einem wesentlichen Qualitätsmerkmal von Software widerspricht.

Nicht nur in solchen Fällen kann man sich mit einer Variablen vom Typ bool helfen. Eine Variable des Typs bool kann ausschließlich einen Wahrheitswert (true oder false) aufnehmen.
Beispiel: valid heißt soviel wie gültig.
bool valid = Wahl>0 && Wahl<4;
valid beinhaltet nun genau dann den Wert true, wenn der Wert von Wahl zwischen 1 und 3 liegt. Die Variable valid kann nun in einem booleschen Ausdruck eingesetzt werden.
Etwa so: if(valid) ...


Auftrag: Test der booleschen Operatoren

Erstellen Sie ein Programm, welches 3 Zahlen einliest und den int-Variablen a,b und c zuweist! Dann sollen auf die eingelesenen Werte nacheinander alle obigen booleschen Operatoren angewendet werden. Die Vergleiche und Verknüpfungen sollen zusammen mit deren Resultaten ausgegeben werden. Verwenden sie auch eine boolesche Variable!
Ausgabebeispiel:
cout << a << '<' << b << " = " << (a<b) << endl;
Denken Sie sich die Ausdrücke selbst aus!