You are on page 1of 19

OPERATORI C

JEZIKA
• Šta su operandi?
• Operandi su objekti kojima
se manipuliše prilikom
dodjele vrijednosti, njihovog
povezivanja i poređenja,
zatim pri njihovom pristupu
DEFINICIJE i sl.
• a šta operatori?
• Operator je sredstvo
pomoću kojeg djelujemo na
operande
• Šta su izrazi?
• Izrazi su kombinacija
operatora i operanada.
• On obavlja računanje i daje
rezultat ili uzrokuje neku
aktivnost.
• Koje su najznačajnije
kategorije operatora?

• Najznačajnije kategorije
operatora su:
– aritmetički,
– relacijski i logički,
– operatori nad bitovima.
pregled
OPERATOR OPIS aritmetičkih
+ Sabiranje operatora
- oduzimanje •ZBIR = x+y
/ Dijeljenje
•PROIZVOD = x*y
* Množenje
- Unarni minus •RAZLIKA = x-y

+ Unarni plus •CJELDJELJENJE = x/y


•(primjer: x=7, y=3, x/y=7/3=2)
% Moduo
(ostatak) •MODUO= x%y
•(primjer: x=7, y=3, x%y=7%3=1)
• Važno! Operator moduo (ostatak)
primjenljiv je samo na cjelobrojne
operande.
• Prije nego što obavi računanje,
prevodilac za C mora operand da svede
na zajednički tip.

• Vrijednost nekog izraza može se


eksplicitno konvertovati u zadani tip
pomoću operatora eksplicitne konverzije
Konverzija (tip) (eng. cast operator).

podataka • Sintaksa konverzije je

• (tip) izraz;

• izraz će biti izračunat i njegova vrijednost


konvertovana u tip unutar zagrada.
Ulaz:
•Unesi prvi broj : 2 <enter>
•Unesi drugi broj : 3 <enter>
Primjerom Izlaz:
ilustrovati •Zbir a+b je : 5
neke od •Razlika a-b je : -1
aritmetičkih •Proizvod a*b je : 6
•Cjelobrojni kolicnik a/b je : 0
operacijama: •Progresan pokusaj racunanja realnog
kolicnika a/b je : 0.000000
•Realni kolicnik a/b je : 0.666667
•Ostatak pri dijeljenju a/b je : 2
#include <stdio.h>
main()
{
int a, b;
printf("Unesi prvi broj : ");
scanf("%d",&a);
printf("Unesi drugi broj : ");
Primjerom scanf("%d",&b);
/* Kada se saberu dva cijela broja, rezultat je cio broj*/
ilustrovati printf("Zbir a+b je : %d\n",a+b);
/* Kada se oduzmu dva cijela broja, rezultat je cio broj*/
neke od printf("Razlika a-b je : %d\n",a-b);
aritmetičkih /* Kada se pomnoze dva cijela broja, rezultat je cio broj*/
printf("Proizvod a*b je : %d\n",a*b);
operacijama: /* Kada se podele dva cijela broja, rezultat je cio broj!!!*/
printf("Cjelobrojni kolicnik a/b je : %d\n", a/b);
/* Rezultat je cio broj, bez obzira sto ga ispisujemo kao realan*/
printf("Pogresan pokusaj racunanja realnog kolicnika a/b je :
%f\n", a/b)
/* Eksplicitna konverzija, a i b pretvaramo u relane brojeve kako
bi dijeljenje bilo realno*/
printf("Realni kolicnik a/b je : %f\n", (float)a/(float)b);
/* Ostatak pri dijeljenju se moze izvrsiti samo nad cijelim
brojevima*/
printf("Ostatak pri dijeljenju a/b je : %d\n", a%b);
}
1. Vrijednost izraza 20%3je:
6
6.66667
2
2. Izračunajte vrijednost izraza
9*7/5%8
3. Izračunaj vrijednost izraza 12*5+9/3
4. Primjer.

Zadaci za  
Šta radi sljedeći program. Objasniti.

#include <stdio.h>
vježbu main()
{
int x=506, y=3, z=21, t=2;
printf("x=%d y=%d\n",x,y);
printf("z - t=%d\n", z-t);
printf("z / t =%d\n",z / t);
printf("-x=%d\n",- x);
printf("x % y=%d\n", x%y);
}
Operatori jednakosti i relacijski
operatori
OPERATORI JEDNAKOSTI RELACIJSKI OPERATORI

  Operator Značenje Operator Značenje

< strogo manje


  == jednako

<= manje ili jednako


!= NIJE jednako
 
> strogo veće
 
 
>= veće ili jednako

 
• Pomoću ovih šest operatora formiraju se logički izrazi.
Njihova vrijednost je istina ili laž.
• Logički izraz koji je istinit dobija vrijednost 1
• A logički izraz koji je lažan prima vrijednost 0.
Na primjer:
Izraz Istinitost Vrijednost
i<j istinito 1
(i+j)>=k neistinito 0
i==2 neistinito 0
k!=i istinito 1
Operatori inkrementacije i
dekrementacije

• Operator inkrementiranja ++
povećava promjenljivu za jedan.
• Tako je izraz

x++; ekvivalentan izrazu x=x+1;

• Operator dekrementiranja --
smanjuje vrijednost promje nljive za
1, odnosno
 
x--; je ekvivalentno izrazu x=x-1; 
Izraz x++ i x-- imaju dvije forme.

Razlika izmedu prefiks i postfiks notacije


pojavljuje se u složenim izrazima.

U prefiks notaciji (++x, --x) promjenljiva će


biti promijenjena prije no što će njena
vrijednost biti iskorišten u složenom izrazu;

U postfiks notaciji (x++, x--) promjenljiva će


biti promijenjena nakon što će njena
vrijednost biti iskorišten u složenom izrazu.
• U primjeru
i=7;
printf("i= %d\n", --i);
printf("i= %d\n", i--);
printf("i= %d\n", i);

• Prva printf naredba ispisaće 6, druga


će takođe ispisati 6, a treća će
ispisati 5.
• Razlog je to što se u drugoj printf
naredbi vrijednost promjenljive i
prvo prenese funkciji, a zatim smanji
za 1.
 
Složeni Ovi operatori spadaju u istu prioritetnu
operatori grupu s operatorom = i izračunavaju
se s desna na lijevo.
pridruživanja
Složeni operatori pridruživanja
• Primjeri:
Složeni operatori Izraz
pridruživanja
• i +=5 i=i+5
+= • i -=j i=i-j
-=
• i *=j+1 i=i*(j+1
• i /=4 i=i/4
*=
• i %=2 i=i%2
/=
operator znacenje
&& logičko I

|| logičko ILI

Logički ! Logicka negacija


Operandi logičkih operatora su logičke vrijednosti
operatori (najčešće logički izrazi) s tim da se svaka
cjelobrojna vrijednost različita od nule interpretira
kao istina, a nula se interpretira kao laž. Vrijednost
složenog logičkog izraza biće 0 (laž) ili 1 (istina).
Primjer.
• Ako je izraz i>1 istinit, izraz c=='t' istinit, a izraz j<6 lažan, onda imamo:

• Izraz Istinitost Vrijednost

i>1 || j<6 istinito 1

i>1 && j<6 neistinito 0

!(i>1) neistinito 0

i>1 || (j<6 && c!='t’) istinito 1

You might also like