OR2010Pred05

  • Upload
    edhem

  • View
    214

  • Download
    0

Embed Size (px)

Citation preview

  • 8/17/2019 OR2010Pred05

    1/9

  • 8/17/2019 OR2010Pred05

    2/9

    Operator pridruživanja u kombinaciji s aritmetič kim operatorima

    • Operator pridruživanja se može nalaziti i u kombinaciji s aritmetič kim operatorima.

    • Na primjer:

    a=a+100; ⇔ a+=100;

    a=a-100; ⇔ a-=100;

    a=a/4; ⇔ a/=4;

    a=a%5; ⇔ a%=5;

    a=a*(5+3) ⇔ a*=5+3;

    a=a-b+100 ⇔ a-=b+100

    a=a*50+b+20 ⇔ a*=50+b+20;

    Operatori za rad s bitovima

    • Programski jezik C ima slijedeć e operatore za rad s bitovima:

    | logič ka ILI operacija izmeđ u bitova^ ekskluzivna ILI operacija~> pomak udesno

    • Mogu se primijeniti samo na varijable tipachar, short, int i long .

    • Pomak ulijevo i udesno

    • Opć i oblik je:ime_var > broj;

    • ime_var je ime varijable;• broj označ ava broj bitova za koliko se treba pomaknuti.

    Primjeri s operatorima za pomak ulijevo i udesno

    • Neka je deklarirana znakovna varijabla c:

    char c=0xD;

    • Varijabla c je u memoriji prikazana kao:

    0 0 0 0 1 1 0 1Primjer uč inka operatora za pomak ulijevo i udesno

    Naredbe: zapis varijable c u memoriji nakon naredbe

    c=c>>2; ⇒ 0 0 0 0 0 0 1 1

    =

    c=c

  • 8/17/2019 OR2010Pred05

    3/9

    Naredba switch-case (1/2)

    Opć i oblik naredbe je:

    swi t ch ( i zraz)• Izraz mora biti cjelobrojan.

    • Koristi se za višestruko granjanje

    case konst ant a 1:bl ok naredbi 1;break;

    programa, odnosno, omogućuje izborizmeđ u više moguć ih puteva izvođ enja

    ro rama.case ons an a :bl ok naredbi 2;

    break;.

    • Korištenje switch-case naredbedoprinosi boljoj razumljivosti i

    .

    .case konst ant a n- 1:

    preglednosti programa.

    • Prvo se izrač una izraz a zatim se-

    br eak;def aul t :

    bl ok naredbi n;

    ...konstanta n-1.

    • Ako e izrač unati izraz ednak nekobreak;}

    konstanti onda se izvodi blok naredbipridružen dotič noj konstanti.

    Naredba switch-case (2/2)

    • Ako rezultat izraza nije jednak nijednoj od konstanti, onda se izvodi bloknaredbi pridružen oznaci default.

    • Isti tok programa bi se mogao realizirati i upotrebom if-else if-else strukture.• Izvođ enje nekog bloka naredbi prekida se naredbom brake ili oznakom krajaswitch-case naredbe , a to je }.

    • Opcija default se može izostaviti zajedno s pripadajuć im blokom naredbi.

    • Dvije konstante u case-switch strukturi ne mogu imati iste vrijednosti, osimkada se naredba switc-case nalazi u sklopu druge strukture switch-case.

    • ,naredbi slijedeć eg case dijela.

    Primjer 7.1 (naredba switch-case ) (1/2)

    #i ncl ude

    i nt mai n( ){

    i nt ocj ena;r i nt “ n Unesi t e oc enu 5- 10 : ” scanf ( “%d”, &ocj ena) ;swi t ch ( ocj ena){

    case 5:pr i nt f ( “ \ n Ni s te pol oz i l i ” ) ; break;

    case 6:r i nt f ( “ \ n Pol oz i l i s t e, al i …”) ; break;

    case 7:pr i nt f ( “ \ n Ni j e l ose” ) ; br eak;

    case 8:“ ”pr n n o ar , o ar ; r ea ;

    Primjer 7.1 (naredba switch-case ) (2/2)

    / * nast avak sa pr ethodne st r ani ce*/case 9:

    “ ”case 10:

    pr i nt f ( “ \ n Odl i cno”) ; break;def aut :

    pri nt f ( “\ n Ni ste uni j el i i spravnu ocj enu”); break;}

    Diskusija: ,

    b) Šta bi bio rezultat da smo unijeli za ocjenu 7?

    a b

    ezu tat : Niste polozili

    Polozili ste, ali …Nije lose

    Nije lose

    Dobar, dobar Svaka casto ar, o ar

    Svaka castOdlicno

    cno

  • 8/17/2019 OR2010Pred05

    4/9

  • 8/17/2019 OR2010Pred05

    5/9

    Naredba goto

    • Opć enito je prihvać en stav da pre č esta upotreba goto naredbe smanjuje č itljivost irazumljivost programa.• Opć enito, svaki se program može napisati bez goto naredbe, ali isto tako programikoji koriste tu naredbu ne moraju biti manje efikasni.• Naredba goto zahtijeva simbolič ku oznaku linije koju nazivamo labela. Na tu liniju seprogram grana nakon goto naredbe.Primjer i nt mai n( ){

    labele

    i nt a;a=2;di o1:a=a+2;

    i f ( a>20) goto di o2;pri nt f ( “\ n %d”, a) ;got o di o1;por uka:pr nt n Nema v se par n r o eva o su man o ;r et ur n 0;}

    Primjer 7.3

    S=1 - 1/2 + 1/3 - 1\4 + 1/5 - ... +-1/n• Brojn se unosi sa standardnog ulaza.

    #i ncl udei nt mai n( ){

    n , n, p;f l oat S ;pr i nt f ( "Unesi t e broj cl anova koj i ce se sabi r at i \ n") ;scanf ( "%d", &n);

    =p=1;f or ( i =1; i

  • 8/17/2019 OR2010Pred05

    6/9

    Zadaci za analizu br. 1 i br. 2

    i nt a=10, b=3, c;b+=a++;

    • Koje vrijednosti imaju varijablea, b i c nakon izvršenog bloka naredbi:

    b- =a- - ;c=a%b+1;

    Od ovor: a=10 b=2 c=1

    #i ncl ude • Šta ć e ispisati slijedeć i program:

    i nt mai n( ){

    i nt i =0;do

    { pri nt f ( "MA") ;i ++;

    } whi l e ( i %2!=0);

    Odgovor: MAMA

    Zadatak za analizu br. 3

    • Koja je vrijednost varijable b nakon izvođ enja slijedeć eg bloka naredbi:

    i nt mai n( ){

    char c=65, b=0;

    swi t ch ( c){

    case ' A' : b++;case ' a' : b++;case : ++; r ea ;case ' C' : b++;def aul t : b++; break;

    }r e ur n ;

    }

    Odgovor: b=3

    Zadatak za analizu br. 4

    • Šta ć e ispisati slijedeć i program:

    #i ncl ude

    i nt mai n( ){sw c{

    case 0: pri nt f ( "AA") ;case 1: pr i nt f ( "BB") ; br eak;

    " "case : pr n ;case 3: pr i nt f ( "DD") ;def aul t : pr i nt f ( "EE") ;

    }

    }

    Zadatak za analizu br. 5

    • Šta ć e ispisati slijedeć i program:

    #i ncl ude i nt mai n( ){

    swi t ch ( 8%7){case 0: pri nt f ( "AA") ;case 1: pri nt f ( "BB") ;case 2: pr i nt f ( "CC") ; br eak;case 3: pr i nt f ( "DD") ;def aul t : pr i nt f ( "EE") ;

    }r et ur n 0;}

    Od ovor: BBCC

  • 8/17/2019 OR2010Pred05

    7/9

    Zadatak za analizu br. 6

    • Koje vrijednostić e imati varijablex, y i z nakon izvođ enja slijedeć eg bloka naredbi:

    { i nt x , y, z ;x=y=z=1;

    {do{

    =} whi l e ( y

  • 8/17/2019 OR2010Pred05

    8/9

    Zadatak za analizu br. 11

    <

    • Koju vrijednostć e imati varijablaa nakon izvršenog programa:

    .

    i nt mai n( ){i nt i , a=0;

    or i =1; i

  • 8/17/2019 OR2010Pred05

    9/9

    Primjer (1/2)

    • Program uuč itava u polje s imenom niz 10 cijelih brojeva, a zatim izrač unavaprosjek elemenata tog polja.

    #i ncl ude i nt mai n( ){

    i nt ni z[ 10] , suma, i ;f l oat sv ;f or ( i =0; i