12.07.2015 Views

Programski jezik C - Pmf

Programski jezik C - Pmf

Programski jezik C - Pmf

SHOW MORE
SHOW LESS
  • No tags were found...

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

6.1. IZRAZI I NAREDBE 99nekog izraza. Na primjer, popratna pojava naredbex=50.0;je postavljnje varijable x na vrijednost 50.0. Takva se terminologija možečiniti čudnom jer je očita intencija ove naredbe postaviti varijablu x na 50.0,no sa stanovišta <strong>jezik</strong>a osnovna intencija je izračunati izraz. Kao posljedicaizračunavanja izraza varijabla x je postavljena na 50.0.Drugi primjer popratne pojave nalazimo u while naredbi iz prethodnogprogramawhile(brojac++ < 21)gdje kao popratnu pojavu izračunavanja izraza brojac++ < 21 dobivamopovećanje varijable brojac za 1. Ovdje je termin popratna pojava posveprimjeren.Sada se nameće pitanje u kojem se trenutku izvršavaju popratne pojave.Mjesto u programu na kojem se popratne pojave moraju izvršiti prijenastavka izvršavanja programa naziva se sekvencijska točka (eng. sequencepoint).Točka-zarez označava sekvencijsku točku. Prije prijelaza na novu naredbusve popratne pojave prethodne naredbe moraju biti izvršene.Isto tako, na kraju svakog potpunog izraza nalazi se sekvencijska točka.Pri tome je potpuni izraz svaki izraz koji nije podizraz nekog većeg izraza. Toje značajno u strukturnim naredbama koje testiraju neki izraz. Na primjer,u petljiwhile(brojac++ < 21)printf("%d \n",brojac);test petlje čini potpuni izraz i stoga povećanje varijable brojac mora bitiizvršeno odmah nakon izračunavanja testa, a ne nakon izvršavanja čitavewhile naredbe, kao što bi netko mogao pomisliti.U primjeruy=(4+x++)+(6-x++);4+x++ nije potpun izraz i stoga C ne garantira da će x biti povećan odmahnako izračunavanja podizraza 4+x++. Čitav izraz pridruživanja je potpuniizraz, a sekvencijska točka je točka-zarez te stoga C garantira da će x bitidva puta povećan za 1 prije prijelaza na izvršavanje nove naredbe. Jezik nespecificira hoće li x biti povećan nakon izračunavanja svakog podizraza ili teknakon izračunavanja čitavog izraza te stoga ovakve izraze treba izbjegavati.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!