C vs C#

3. Operatori

Tipom podatka je između ostalog određen i skup operatora koji mogu da se koriste nad podacima datog tipa. Najčešće klasifikacije su: po broju operanada i u odnosu na vrstu izraza u kojima se koriste.

Operatori po broju operanada se dele na:

  • unarne,

  • binarne i

  • ternarne.

Unarni operatori su operatori koji imaju samo jedan operand. Binarni operatori se primenjuju nad dva operanda, a ternarni operator ima tri operanda i u programskom jeziku C# postoji samo jedan takav operator ("? :").

Po drugoj klasifikaciji operatori se mogu podeliti na:

  • aritmetičke (numeričke),

  • logičke,

  • relacijske i

  • operatore za rad sa tekstualnim podacima.

Aritmetički operatori su:

  • + (sabiranje)

  • - (oduzimanje)

  • * (množenje)

  • / (deljenje)

  • % (ostatak celobrojnog deljenja - moduo)

Logički operatori su:

  • ! - negacija

  • || - logičko "ILI" (OR)

  • && - logičko "I" (AND)

Relacijski operatori su:

  • == - ekvivalencija tj. jednakost

  • != - neekvivalencija tj. različito

  • < - manje

  • > - veće

  • <= - manje ili jednako

  • >= - veće ili jednako

Operatori za rad sa bitovima su:

  • ~ - negacija na nivou bita

  • & - I na nivou bita

  • | - ILI na nivou bita

  • ^ - ekskluzivno ILI na nivou bita

  • << - pomeranje u levo

  • >> - pomeranje u desno

Tekstualni operator je konkatenacija u oznaci + i predstavlja nadovezivanje drugog operanda na prvi operand.

Pored prethodno navedenih operatora, postoje i operatori dodele, operatori za inkrementiranje, operatori za dekrementiranje, ternarni operator itd.

Operatori inkrementiranja u oznaci ++ i dekrementiranja u oznaci -- mogu biti prefiksni (u složenijim izrazima se izvršavaju pre računanja vrednosti izraza) i postfiksni (u složenijim izrazima se izvršavaju tek nakon izračunatog izraza). Operator inkrementiranja povećava vrednost operanda za jedan, a operator dekrementiranja smanjuje vrednost operanda za jedan.

Prioritet operatora

Svi operatori se mogu svrstati u kategorije. Prioritet ovih kategorija je sledeći (od najvišeg ka najnižem):

  • osnovni operatori (pristup polju, poziv metode, pristup indeksu, postinkrementiranje, postekrementiranje, new, typeof, sizeof)

  • unarni operatori (i predekrementiranje i preinkrementiranje)

  • aritmetički (množenje, deljenje, ostatak pri deljenju)

  • sabiranje i oduzimanje

  • pomeranje na nivou bita (pomeranje u levo i pomeranje u desno)

  • relacioni operatori

  • jednakost (jednako i različito)

  • I na nivou bita

  • ekskluzivno ILI na nivou bita

  • ILI na nivou bita

  • logičko I

  • logičko ILI

  • ternarni operator

  • operatori dodeljivanja