|
Operatoren
Es wird zwischen drei Typen von Operatoren unterschieden. Die ersten sind die binären Operatoren (z.B. +, -, *, /), die
zwei Operanden haben, die links und rechts davon stehen (also z.B. 2+3). Die zweiten sind die unären Präfixoperatoren.
Das sind Operatoren, die nur auf einen Wert wirken, und VOR diesem stehen (z.B. -2.3, ++i, !0 (logische Verneinung)).
Entsprechend gibt es auch die unären Postfixoperatoren, die hinter dem Wert stehen (z.B. 3! (Fakultät), 3°).
Diese Beispiele zeigen schon, dass derselbe Operator eine völlig andere Bedeutung hat, je nachdem, ob er vor
oder hinter einem Wert steht.
In arithmetischen Ausdrücken gilt die übliche Ranfgolge von Operatoren
(Punkt-vor-Strich etc.)
Binäre Operatoren:
Operation |
Typ von a |
Typ von b |
Wirkung |
a + b |
int,double |
int,double |
Addition. Werden int und double gemischt verwendet, ist das Ergebnis double. |
vector |
vector |
Vektoraddition (Komponentenweise) |
string |
string |
Aneinanderfügen der Strings |
a - b |
int,double |
int,double |
Subtraktion. Werden int und double gemischt verwendet, ist das Ergebnis double. |
vector |
vector |
Vektorsubtraktion (Komponentenweise) |
a * b |
int,double |
int,double |
Multiplikation. Werden int und double gemischt verwendet, ist das Ergebnis double. |
vector |
vector |
Vektor-Kreuzprodukt |
vector int,double |
int,double vector |
Skalarmultiplikation (komponentenweise Multiplikation) |
a / b |
int,double |
int,double |
Division. Werden int und double gemischt verwendet, ist das Ergebnis double. Sind a und b int, so ist
auch das Ergebnis int! |
vector |
int,double |
Komponentenweise Division |
a . b |
vector |
vector |
Skalarprodukt |
a % b |
int |
int |
Modulo (Divisionsrest) |
a ^ b |
int,double |
int,double |
Potenz (a hoch b). Werden int und double gemischt verwendet, ist das Ergebnis double |
a == b |
beliebig |
gleicher Typ wie a |
Liefert einen int. Ungleich 0, wenn a gleich b ist, sonst 0 |
a != b |
beliebig |
gleicher Typ wie a |
Liefert einen int. Ungleich 0, wenn a ungleich b ist, sonst 0 |
a > b a < b a >= b a <= b |
int,double |
int,double |
Liefert einen int. Ungleich 0, wenn die Ungleichung erfüllt ist, sonst 0 |
|| |
int |
int |
Logisches oder. Liefert wieder int. |
&& |
int |
int |
Logisches und. Liefert wieder int. |
, |
beliebig |
beliebig |
Liefert b zurück. Zum Aneinanderfügen von Zuweisungen |
Präfixoperatoren:
Operation |
Typ von a |
Wirkung |
-a |
int,double |
Vorzeichenumkehr |
vector |
Komponentenweise Voreichenumkehr |
+a |
beliebig |
Liefert a (keine Wirkung) |
!a |
int |
Logische Verneinung |
(double)a |
int,double |
Wandelt a in ein double um |
vector |
Liefert den Betrag von a |
(int)a |
int,double |
Wandelt a in einen int um (Dezimalstellen abschneiden) |
(string)a |
beliebig |
Liefert eine Zeichenkette, in der der Wert von a steht |
++a |
int,double |
a muss eine Variable sein. Vor der Auswertung des Ausdrucks wird a um eins erhöht. |
--a |
int,double |
a muss eine Variable sein. Vor der Auswertung des Ausdrucks wird a um eins erniedrigt. |
Postfixoperatoren:
Operation |
Typ von a |
Wirkung |
a! |
int |
Fakultät |
a° |
int,double |
Berechnet a*Pi/180 (Umwandlung von Grad ins Bogenmaß). Das Ergebnis ist immer double |
a++ |
int,double |
Erhöhe nach Auswertung des Ausdrucks a um 1 |
a-- |
int,double |
Erniedrigt nach Auswertung des Ausdrucks a um 1 |
[nach oben]
|