C vs C#
C# je programski jezik koji nam omogućuje pisanje kako konzolnih tako i Windows aplikacija, pa čak i aplikacija za Web. U prvom delu koji se odnosi na osnove programskog jezika C# primeri će se odnositi na delove koda neke konzolne aplikacije dok će se u drugom delu detaljnije objašnjavati razvoj Windows aplikacija te će i primeri biti sa odgovarajućim grafičkim korisničkim interfejsom.
Svaki programski jezik ima elemente koji ga karakterišu i to su:
- azbuka,
- rezervisane reči,
- konstante,
- promenljive.
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