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 ...
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