07.10.2013 Aufrufe

Vorlesungsskript - Hochschule Emden/Leer

Vorlesungsskript - Hochschule Emden/Leer

Vorlesungsskript - Hochschule Emden/Leer

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

c○ Prof. Dr. B. Bartning, HS <strong>Emden</strong>/<strong>Leer</strong> Rumpfskript ” Informatik I/II“ (WS/SS 2010/11) 39<br />

Umgekehrt wird ein Ausdruck des Typs bool, wenn nötig, in eine Ganzzahl des Typs int<br />

umgewandelt, und zwar true in 1 und false in 0.<br />

(b) Dagegen C C++(alt) : Ein Boolescher Ausdruck hat den Typ int, und zwar bei WAHR den<br />

Wert 1, bei FALSCH den Wert 0.<br />

(4.22) C/C++ : Verknüpfung von numerischen Ausdrücken zu Booleschen Ausdrücken:<br />

Op8: NumAusdruck < NumAusdruck NumAusdruck NumAusdruck NumAusdruck >= NumAusdruck<br />

Op9: NumAusdruck == NumAusdruck NumAusdruck != NumAusdruck<br />

(== Test auf Gleichheit) (!= Test auf Ungleichheit)<br />

△! Ein ” beliebter“ Fehler ist die Verwechselung der beiden Operatoren = und ==:<br />

Op16a: = Operator für Zuweisung (und auch häufig für Initialisierung)<br />

Op9a: == Operator für Test auf Gleichheit<br />

(4.23) C/C++ : Jeder numerische Ausdruck kann logisch (Boolesch), d. h. als Bedingung interpretiert<br />

werden; ein Wert ungleich 0 gilt als WAHR, ein Wert gleich 0 als FALSCH.<br />

(4.24) C/C++ : Boolesche Werte (und logisch zu bewertende numerische Ausdrücke) können weiter<br />

zu Booleschen Ausdrücken kombiniert werden (2.63, 2.64):<br />

Op13: BoolAusdruck1 && BoolAusdruck2 logisches Und<br />

Op14: BoolAusdruck1 || BoolAusdruck2 logisches Inklusiv-Oder<br />

Op3d: ! BoolAusdruck logische Negation<br />

Zu den beiden binären Operatoren && und || (Op13/14):<br />

Anm1 Hierbei ist die Berechnung nach dem Kurzschlussverfahren garantiert, d. h. der rechte Ausdruck<br />

BoolAusdruck2 wird nur dann bewertet, wenn der Wert des Gesamtausdrucks nicht<br />

schon durch die Bewertung des linken Ausdrucks BoolAusdruck1 feststeht. Wegen des Kurzschlussverfahrens<br />

sind diese beiden Operatoren nicht kommutativ; ohne Kurzschlussverfahren<br />

wären sie dagegen kommutativ. Vgl. auch die allgemeine Erörterung in (2.64b2).<br />

Anm2 Ausnahme zu (3.33): Es ist garantiert, dass auch sämtliche Seiteneffekte von BoolAusdruck1<br />

abgearbeitet sind, bevor – gegebenenfalls – BoolAusdruck2 bewertet wird.<br />

(4.25) Ein Ausdruck beispielsweise der Form<br />

12 < x

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!