Jezik
Istorijat
C++
Kompajler
Razvojni ciklus
Hello.c
Greške
Komentari
Varijable
Printf i scanf
Include i main
Zbir.c
Konstante
Naredbe i izrazi
Operatori I
Zadaci I nivo
Operatori II
If/else
Zadaci II nivo
For
Zadaci III nivo
While
Zadaci IV nivo
Funkcije
Zadaci V nivo
Nizovi
Zadaci VI nivo
Zadaci
Rječnik
Literatura
abc C
|
|
Operatori (eng. Operator) je simbol koji daje računaru instrukciju da izvrši
neku operaciju. Operatori se dijele na operator pridruživanja, matematičke
operatore, relacione operatore i logičke operatore.
Operator pridruživanja
Operator pridruživanja je znak jednako (=). Upotrebljava se u sledećem obliku:
varijabla = izraz;
On pridružuje vrijednost izraza sa lijeve strane varijabli sa desne strane.
Matematički operatori
U matematici ove operatore ste zvali znakovima matematičkih operacija. Matematički
operatori se dijele na operatore sa jednim izrazom i operatore sa dva izraza.
Operatori sa jednim izrazom
Operatori sa jednim izrazom (eng. Unary Operator) su operator uvećavanja i
operator umanjivanja. Operator uvećavanja (eng. Increment) (++) uvećava vrijednost
izraza uz kojeg stoji za jedan i pridružuje mu novu vrijednost.
int broj = 5;
printf("%d ", broj);
broj++;
printf("%d", broj);
Izlaz na ekranu:
5 6
Operator umanjivanja (eng. Decrement) (--) umanjuje vrijednost izraza uz kojeg
stoji za jedan i pridružuje mu novu vrijednost.
int broj = 5;
printf("%d ", broj);
broj--;
printf("%d", broj);
5 4
broj++;
broj--;
je, ustvari, isto što i
broj = broj + 1;
broj = broj - 1;
Operatori uvećavanja i umanjivanja se mogu upotrijebiti kao sufiksi (primjeri
gore) i kao prefiksi. Razliku najbolje ilustruje sledeći primjer:
#include <stdio.h>
int x, y;
main()
{
x = 5;
y = 5;
printf("%d - %d\n", x, y);
printf("%d - %d\n", x--, --y);
printf("%d - %d", x, y);
return 0;
}
5 - 5
5 - 4
4 - 4
Ako je operator upotrebljen kao prefiks, on "operiše" izraz prije njegove upotrebe.
Ako je operator upotrebljen kao sufiks, on "operiše" izraz poslije njegove upotrebe.
Operatori sa dva izraza
Operatori sa dva izraza (eng. Binary Operator) su operator sabiranja (+), operator
oduzimanja (-), operator množenja (*), operator dijeljenja (/) i operator ostatka
(%).
zbir = 3 + 5; /* Zbir je 8. */
razlika = 43 - 23; /* Razlika je 20. */
proizvod = 5 * 6; /* Proizvod je 30. */
Za razliku od matematike, dijeljenje je malo drugačije, a ostatak je nešto novo.
kolicnik1 = 40 / 8; /* Kolicnik1 je 5. */
kolicnik2 = 45 / 7; /* Kolicnik2 je 6. */
ostatak = 45 % 7; /* Ostatak je 3. */
U C-u dijeljenje je matematička operacija u kojoj je rezultat cijeli broj bez
ostatka ili decimala. Rezultat operacije ostatka je cijeli ostatak. Pogledajte
sledeći primjer, koji na najbolji način ilustruje osnos djeljenika, djelioca,
količnika i ostatka dijeljenja.
#include <stdio.h>
int djeljenik, djelilac, kolicnik, ostatak, suma;
main()
{
djeljenik = 45;
djelilac = 7;
kolicnik = djeljenik / djelilac;
ostatak = djeljenik % djelilac;
printf("Kolicnik je %d.\n", kolicnik);
printf("Ostatak je %d.\n", ostatak);
suma = (kolicnik * djelilac) + ostatak;
/* Isto je i bez zagrada. */
printf("Suma je %d.\n", suma);
return 0;
}
Kolicnik je 6.
Ostatak je 3.
Suma je 45.
Red matematičkih operacija
U složenim izrazima postoje operacije koje imaju prednost izvršavanju u odnosu
na druge. U tabeli je prikazan redoslijed.
Izvršavaće se |
Operatori |
prvi |
++ -- |
drugi |
* / % |
treći |
+ - |
Tako rezulatat sledećeg koda nije 48, već 33.
rezultat = 3 + 5 * 6;
Ako izraz ima više operatora od iste važnosti, onda se izvršavaju poredu,
slijeva nadesno. No, redoslijed se može uvjek promjeniti običnim zagradama, (),
jer se riješava prvo ono u zagradi, pa te onda ono van. Pravilo za zagrade ne
važi samo za matematičke operatore, već važi za sve operatore.
int inc = 5;
rezultat = (2 * ++inc) * (2 + 3);
printf("Rezultat je %d.", rezultat);
Rezultat je 60.
Savjetujem da češće koristite zagrade, jer time je kod čitljiviji, a manja je
mogućnost da se dobije pogrešan rezultat zbog pogrešnog reda operacija.
Kombinovani operatori
Kao što i ime kaže, ovi operatori su kombinovani od jednog matematičkog operatora
i operatora pridruživanja. Upotrebljavaju se u sledećem obliku:
izraz1 operator= izraz2
što predstavlja isto kao
izraz1 = izraz1 operator izraz2
Primjer:
#include <stdio.h>
int suma, cijena;
main()
{
suma = 100;
cijena = 23;
suma += cijena;
/* suma = suma + cijena */
printf("Suma je %d.", suma);
return 0;
}
Suma je 123.
Sledeće tri naredbe uvećavaju, odnosno umanjuju, vrijednost varijable x za jedan:
x = x + 1;
x++;
x += 1;
x = x - 1;
x--;
x -= 1;
Preporuka: Do sada ste stekli toliko znanja da samostalno možete početi
stvarati jednostavnije aplikacije. Ovdje možete
pronaći pripremljene zadatke za vježbanje.
Naredbe i izrazi -
Zadaci I nivo
|