Eine Einführung in die Programmiersprache C und ... - C /C++ Ecke
Eine Einführung in die Programmiersprache C und ... - C /C++ Ecke
Eine Einführung in die Programmiersprache C und ... - C /C++ Ecke
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
<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.8 Präzedenzen<br />
Wie <strong>in</strong> der gewöhnlichen Mathematik gibt es auch <strong>in</strong> C e<strong>in</strong>e Operatorrangfolge, nach deren Regeln<br />
<strong>die</strong> Rechenreihenfolge der Berechnungen def<strong>in</strong>iert ist (Analog zu der Regel 'Punkt vor Strich'). Diese<br />
Reihenfolge kann durch das setzten von Klammern ausser Kraft gesetzt werden, Klammern haben<br />
<strong>die</strong> höchste Priorität. Es empfiehlt sich, auch Klammern zu setzen wo es nicht nötig ist, Klammern<br />
schaffen Klarheit.<br />
In der nachfolgenden Tabelle stehen <strong>die</strong> Operatoren nach Priorität geordnet, <strong>die</strong> mit der höchsten<br />
Priorität stehen zuoberst. Die Operatoren <strong>in</strong>nerhalb e<strong>in</strong>es Feldes haben <strong>die</strong>selbe Priorität.<br />
Die Assoziativität def<strong>in</strong>iert, ob bei gleichrangigen Operatoren von rechts nach l<strong>in</strong>ks, oder von l<strong>in</strong>ks<br />
nach rechts gerechnet wird.<br />
Beispiel für Assoziativität: a*b/c*d wird <strong>in</strong> der Reihenfolge (((a*b)/c)*d) ausgewertet.<br />
a=b=c=d wird <strong>in</strong> der Reihenfolge (a=(b=(c=d))) ausgewertet.<br />
Operator Bemerkungen Assoziativität<br />
[] () . -><br />
++ --<br />
Postfix Version (a++ b--)<br />
Von l<strong>in</strong>ks nach rechts<br />
& *<br />
+ -<br />
! ~<br />
++ --<br />
sizeof()<br />
(cast)<br />
Adress- <strong>und</strong> Dereferenz-Operator.<br />
Unäres Plus oder m<strong>in</strong>us (-b)<br />
Logisches Not; <strong>E<strong>in</strong>e</strong>rkomplement<br />
Prefix Version (++a --b)<br />
z.B. (<strong>in</strong>t) (unsigned char) (float)<br />
Von rechts nach l<strong>in</strong>ks<br />
* / % Von l<strong>in</strong>ks nach rechts<br />
- + Von l<strong>in</strong>ks nach rechts<br />
>> < >= 5 * 6 * 2 + 3 >> 4 % 3 && 4 - 5<br />
Gedruckt am 11.09.2008 13:04:00 Letzte Änderung am: 11. September 2008 Version 2.4, I. Oesch 30/147