Sunteți pe pagina 1din 1

Operatorii limbajului C/C++

Niv Nr Simbol Operator / Operaie Apelare As. RV LV SE EO


(A) OPERATORI POSTFIXATI L-R
I 1 ( ) apel funcie funcie(lista) >>> cto Lv SE -
2 [ ] indexare tablou tablou[indice] >>> cto Lv - -
3 . -> selecie membru structura.membru >>> cto Lv - -
4 ++ -- incrementare/decrementare c++ >>> cto - SE -
(B) OPERATORI UNARI R-L
II 1 ++ -- incrementare/decrementare ++c <<< cto L* SE -
2 & op. adres &l-valoare <<< ptr - - -
3 * op. int *pointer <<< cto Lv - -
4 + pstrare semn +l-valoare <<< cto - - -
5 - schimbare semn -l-valoare <<< cto - - -
6 ~ negare pe bii ~expresie <<< int - - -
7 ! negare logic !expresie <<< bool - - -
8 sizeof aflarea spaiului de stocare sizeof (tip) <<< int - - -
sizeof (l-valoare)
III 9 (tip) op. de conversie explicit (tip) expresie <<< tip - - -
(C) OPERATORI BINARI L-R
IV 1 * / % op. multiplicativi expr * expr >>> cto - - -
V 2 + - op. aditivi expr + expr >>> cto - - -
VI 3 << >> op. de deplasare pe bii expr << deplasare >>> int - - -
VII 4 <= < > op. de comparaie expr < expr >>> bool - - -
>=
VIII 5 == != op. de egalitate expr == expr >>> bool - - -
IX 6 & op. i pe bii expr & expr >>> int - - -
X 7 ^ op. sau exclusiv pe bii expr ^ expr >>> int - - -
XI 8 | op. sau pe bii expr | expr >>> int - - -
XII 9 && op. i logic expr && expr >>> bool - - >>
XIII 10 || op. sau logic expr || expr >>> bool - - >>
(D) OPERATORI TERNARI ---
XIV 1 ? : operatorul condiional cond ? Da : Nu --- cto Lv - >>
(E) OPERATORI DE ATRIBUIRE R-L
XV 1 = atribuire simpl l-val = expresie <<< cto L* SE -
2 += -= atribuire compus l-val += termen <<< cto L* SE -
*= /= %= aritmetic l-val *= factor
3 <<= >>= atribuire compus l-val<<=depl <<< cto L* SE -
&= ^= |= pe bii l-val &= masca
(F) OPERATORI DE SERIALIZARE L-R
XVI 1 , operatorul virgul expr , expr >>> cto L* - >>
Coloane: Niv nivel de prioritate; Nr nr. criteriu; Simbol token; Operator/Operaie
denumire; Apelare exemple ilustrative de utilizare; As. asocierea operatorilor de acelai
nivel; RV tipul rezultatului (cto conform cu tipul operanzilor, ptr pointer, int ntreg);
LV specific dac rezultatul poate avea valoare de locaie (l-value), Lv valabil pentru orice
compilator, L* valabil pentru MS Visual C++; SE specific dac operatorul produce efecte
secundare (side effects); EO specific ordinea de evaluare a operanzilor (evaluation order).
(vezi http://msdn.microsoft.com/en-us/library/2bxt6kc4.aspx )