Operatorii sunt simboluri sau secvențe de caractere care indică operatii specifice asupra variabilelor și valorilor.
Mai jos sunt prezentați operatorii utilizați frecvent în
+
: Adunare (ex: a + b
)-
: Scădere (ex: a - b
)*
: Înmulțire (ex: a * b
)/
: Împărțire (ex: a / b
)%
: Modulo (restul împărțirii) (ex: a % b
)++
: Incrementare (ex: a++
sau ++a
– crește valoarea lui a cu 1)--
: Decrementare (ex: a--
sau --a
– scade valoarea lui a cu 1)Operatorul de împărțire /
a/b se interpreteză astfel:
Exemplu:
7/2 = 3
7.0/2 = 3.5
7/2.0 = 3.5
7.0/2.0 = 3.5
Operatorul % se poate folosi doar cu numere întregi
a%b reprezintă restul împărțirii lui a la b, unde a și b sunt numere întregi
Exemplu:
7%2 = 1
10%5 = 0
Operatorii ++ și —
==
: Egalitate (ex: a == b
)!=
: Diferit de (ex: a != b
)>
: Mai mare decât (ex: a > b
)<
: Mai mic decât (ex: a < b
)>=
: Mai mare sau egal cu (ex: a >= b
)<=
: Mai mic sau egal cu (ex: a <= b
)!
: Negația logică (ex: !a
)&&
: Și logic (ex: a && b
)||
: Sau logic (ex: a || b
)=
: Atribuire (ex: a = b
)+=
: Adunare și atribuire (ex: a += b
, echivalent cu a = a + b
)-=
: Scădere și atribuire (ex: a -= b
, echivalent cu a = a - b
)*=
: Înmulțire și atribuire (ex: a *= b
, echivalent cu a = a * b
)/=
: Împărțire și atribuire (ex: a /= b
, echivalent cu a = a / b
)%=
: Modulo și atribuire (ex: a %= b
, echivalent cu a = a % b
)++
: Incrementare (ex: a++
sau ++a
)--
: Decrementare (ex: a--
sau --a
)expresie1
expresie1
este nenul (adevărat), se evaluează expresie2
și rezultatul acestei expresii va fi rezultatul operației ?
expresie1
este nul (fals), se evaluează expresie3
și rezultatul acestei expresii va fi rezultatul operației ?
expresie2
și expresie3
trebuie să aibă rezultate de același tip, sau de tipuri compatibile.Categorie | Operatori | Prioritate | Asociație | Exemple | Expresii Numerice |
---|
Operatori Unari | ++ (pre-incrementare), -- (pre-decrementare), - (negare unară), ! (negare logică), ~ (negare bitwise), * (dereferențiere), & (adresă), sizeof , typeid | Foarte înaltă | Dreapta la stânga | ++a , --b , -x , !y , ~z , *ptr , &var , sizeof(int) , typeid(a) | ++a (dacă a este 5, ++a devine 6), -x (dacă x este 3, -x devine -3) |
Operatori Aritmetici | * (înmulțire), / (împărțire), % (modulo) | Înaltă | Stânga la dreapta | a * b , c / d , e % f | 6 * 3 (rezultatul este 18), 9 / 3 (rezultatul este 3), 10 % 4 (rezultatul este 2) |
Operatori de Adiție și Scădere | + (adiție), - (scădere) | Mai mică | Stânga la dreapta | a + b , c - d | 7 + 3 (rezultatul este 10), 8 - 5 (rezultatul este 3) |
Operatori de Comparare | < (mai mic), > (mai mare), <= (mai mic sau egal), >= (mai mare sau egal) | Mai mică | Stânga la dreapta | a < b , c >= d | 5 < 10 (rezultatul este true ), 7 >= 7 (rezultatul este true ) |
Operatori de Egalitate | == (egalitate), != (diferență) | Mai mică | Stânga la dreapta | a == b , c != d | 8 == 8 (rezultatul este true ), 9 != 5 (rezultatul este true ) |
Operatori Logici de Comparare | && (și logic), ` | ` (sau logic) | Mai mică | Stânga la dreapta |
Operatorii de Asignare | = (asignare), += , -= , *= , /= , %= | Mică | Dreapta la stânga | a = b , c += d , e *= f | x = 5 (x devine 5), y += 3 (dacă y era 7, acum y devine 10), z *= 2 (dacă z era 4, acum z devine 8) |
Operatorul Ternar | ? : (operator ternar) | Mică | Dreapta la stânga | a ? b : c | true ? 5 : 10 (rezultatul este 5), false ? 5 : 10 (rezultatul este 10) |
Operatorii de Separator | , (separator de expresii) | Mică | Stânga la dreapta | a = 1, b = 2 | a = 1, b = 2 (primul a devine 1 și apoi b devine 2) |