Die Bezeichnung „boolesche Operatoren“ bezieht sich auf ein logisches System, dass der englische Mathematiker George Boole (1815 – 1864) entworfen hat. Die in C++ benutzten logischen Operatoren finden Sie in der folgenden Tabelle:
Operator | Operation |
&& | Logisches AND |
|| | Logisches OR |
! | Logisches NOT |
&& und || sind binäre Operatoren, ! ist unär. Ein logischer Ausdruck hat folgende Syntax:
ausdruck logischer-Operator ausdruck
Gibt es mehr als einen Operanden muss jeder Ausdruck in Klammern gesetzt werden. Logische Operatoren werden mit Operanden verwendet, die boolsche Werte, also „true“ oder „false“ haben, oder deren Werte in „true“ oder „false“ umgewandelt werden können.
[sc name=“adsense_InText_ad“]
Der logische Operator && vergleicht zwei Operanden und gibt ein „true“ zurück, wenn beide Operanden den Wert „true“ besitzen. Ansonsten wird ein „false“ zurückgegeben. Die Konditionen von Ausdrücken werden oft in Programmverzweigungen verglichen. In welche Richtung ein Programm weiter abgearbeitet wird, hängt von Zustand der zu vergleichenden Ausdrücke ab.
Beim && (AND) Operator müssen beide Operanden „true“ sein, damit die Bedingung erfüllt ist, bei || (OR) reicht ein Operand um ein „true“ zurückzugeben. Der dritte und unäre Operator ! (NOT) wird vor einen Operanden gesetzt. Er gibt den inversen Wert eines Operanden zurück. Beispiel: Ist der Wert einer Variablen a gleich „true“, dann hat !a den Wert „false“. Der ! (NOT) Operator wird in C++ Programmen benutzt um den Wert einer Variablen zu wechseln, wie zum Beispiel a = !a. Bei jedem Programmdurchlauf ändert sich also der Wert, deshalb funktioniert hier der ! (NOT) Operator wie ein Schalter. In C++ Programmen repräsentiert ein boolsches „false“ den Wert Null, jeder Nicht-Null-Wert (wie 1) repräsentiert ein boolsches „true“.
Die Wirkung der logischen Operatoren verdeutlicht die folgende Tabelle:
y | y | !x | x && y | x || y |
true | true | false | true | true |
true | false | false | false | true |
false | true | true | false | true |
false | false | true | false | false |
Übung: Logische Operatoren
Programm: logisch.cpp
#include <iostream>
using namespace std ;
int main()
{
int a = 1 , b = 0 ;
//Logisches UND
cout << „Logisches AND:“ << endl ;
cout << „(a && a) “ << ( a && a ) << „(true) “ ;
cout << „(a && b) “ << ( a && b ) << “ (false) “ ;
cout << „(b && b) “ << ( b && b ) << „(false) “ << endl ;
//Logisches ODER
cout << endl << „Logisches OR:“ << endl ;
cout << „(a || a) “ << ( a || a ) << „(true) “ ;
cout << „(a || b) “ << ( a || b ) << „(true) “ ;
cout << „(b || b) “ << ( b || b ) << „(false)“ << endl ;
//Logisches NICHT
cout << endl << „Logisches NOT:“ << endl ;
cout << „a = “ << a << “ !a = “ << ! a << “ “ ;
cout << „b = “ << b << “ !b = “ << ! b << endl ;
system(„pause“);
return 0 ;
}
Speichern Sie das Programm, kompilieren Sie es anschließend und schauen Sie sich das Ergebnis an.
Dieser Artikel ist Teil unseres kostenlosen Workshops “C++ Programmieren lernen” – Geeignet für Einsteiger und Fortgeschrittene. Machen auch Sie mit und lernen Sie in 50 Artikeln, wie Sie Programme selbst schreiben!
Artikelbild: Fotolia / bramgino