21.11.2013 Aufrufe

Eine Einführung in die Programmiersprache C und die Grundlagen ...

Eine Einführung in die Programmiersprache C und die Grundlagen ...

Eine Einführung in die Programmiersprache C und die Grundlagen ...

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.

<strong>E<strong>in</strong>e</strong> <strong>E<strong>in</strong>führung</strong> <strong>in</strong> <strong>die</strong> Informatik <strong>und</strong> <strong>die</strong> <strong>Programmiersprache</strong> C<br />

7.5 Logische Operatoren<br />

Mit den logischen Operatoren werden Wahrheitswerte mite<strong>in</strong>ander verknüpft. Wenn das Ergebnis<br />

der Verknüpfung wahr ist, wird 1 zurückgeliefert, sonst 0. In C gilt der Wert 0 als falsch, <strong>und</strong> jeder<br />

von 0 verschiedene Wert als wahr.<br />

Operator Beschreibung Beispiel<br />

&& Logische AND Verknüpfung, liefert wahr wenn beide Operanden<br />

wahr s<strong>in</strong>d. Der zweite Operand wird nur ausgewertet,<br />

wenn <strong>die</strong> Auswertung des ersten Operanden wahr ergibt.<br />

(Wenn der erste Operand falsch ist, ist bereits klar das auch<br />

das Ergebnis falsch ist)<br />

|| Logische ODER Verknüpfung, liefert wahr wenn m<strong>in</strong>destens<br />

e<strong>in</strong>er der beiden Operanden wahr ist. Der zweite Operand<br />

wird nur ausgewertet, wenn <strong>die</strong> Auswertung des ersten Operanden<br />

falsch ergibt. (Wenn der erste Operand wahr ist, ist<br />

bereits klar dass auch das Ergebnis wahr ist)<br />

! Logisches NOT, liefert wahr wenn der Operand falsch ist,<br />

<strong>und</strong> umgekehrt<br />

7.6 Spezielle Operatoren<br />

a && b<br />

(a > b) && (a < c)<br />

a || b<br />

(a > b) || (a < c)<br />

!a<br />

!(a > b)<br />

Ausser 'Cast', 'sizeof', ',' <strong>und</strong> '?:' werden <strong>die</strong>se Operatoren erst später im Skript benötigt <strong>und</strong><br />

deshalb hier noch nicht weiter erklärt.<br />

Operator Beschreibung Beispiel<br />

&<br />

Adressoperator, liefert <strong>die</strong> Speicheradresse e<strong>in</strong>er Variablen &a<br />

oder Funktion. Kann nur auf Variablen oder Funktionen<br />

angewendet werden.<br />

* Dereferenzierungsoperator, liefert den Wert, der an der angegebenen<br />

*p<br />

Adresse steht. Ist das Gegenstück zum &. Dieser<br />

Operator kann nur auf Adressen (Po<strong>in</strong>ter) angewendet werden.<br />

sizeof Liefert den Speicherplatzbedarf se<strong>in</strong>es Operanden <strong>in</strong> Bytes sizeof(<strong>in</strong>t)<br />

sizeof(a)<br />

sizeof()<br />

(cast) Castoperator, Typenumwandlung, wandelt se<strong>in</strong>en Operanden<br />

(float)a<br />

<strong>in</strong> den angegebenen Typ um, falls möglich, ansonsten<br />

erfolgt e<strong>in</strong>e Compilerfehlermeldung.<br />

. Elementauswahloperator, wird bei Strukturzugriff benötigt a.b<br />

-> Elementauswahloperator, wird bei Strukturzugriffen via p->b<br />

Adresse (Po<strong>in</strong>ter) benötigt<br />

, Kommaoperator, wertet se<strong>in</strong>e beiden Operanden aus, gibt a, b<br />

den Wert des rechten Operanden zurück.<br />

a = (b++, c--, d+1); Inkrementiert b, dekrementiert<br />

c <strong>und</strong> weist a den Wert von d+1 zu.<br />

?: Bed<strong>in</strong>gter Ausdruck, wenn a wahr ist, wird b zurückgegeben, a ? b : c<br />

sonst c. a>b?a:b liefert das Maximum von a <strong>und</strong> b.<br />

() Funktionsaufrufoperator pr<strong>in</strong>tf("Hallo")<br />

[] Indexoperator, wählt e<strong>in</strong> Feldelement aus (Arrayzugriff) x[i]<br />

Gedruckt am 10.09.2009 14:23:00 Letzte Änderung am: 10. September 2009 Version 2.4.1, I. Oesch 27/147

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!