You are on page 1of 12

Seminarski rad iz predmeta

Informatika i informatike tehnologije

Naslov rada:
Programski jezik C++

www.maturski.org

1. 2. 3. 4. #. 4. #. &.

Uvod u programski jezik C++......................2 Struktura programa3-4 arija!"e..# $o%sta%te& 'ipovi podataka......................................( )peratori.*-+ ,ak"ju-ak1. /iteratura11

1.Uvod u C++
Programski jezik 0++ je vi1i programsi jezik koji je razvije% za o!jekt%o orije%tira%o programira%je i !io je prvot%o razvije% u 2e"" /a!s 3"a!oratorij te"ekomu%ika0ijske tvrtke 2e""4 pod rukovodstvom 2jar%e Stroustropa tokom 1+*.-ti5 kao pro1ire%je programskom jeziku C6 te mu je origi%a"%o ime !i"o 7C wit5 0"asses8. ,!og ve"ike potra9%je za o!jekt%o orije%tira%im jezi0ima te izrazitim sposo!%ostima6 sta%dard za programski jezik C++ rati:i0ira% je 1++* u sta%dardu ;S)<;=C 14**2. C++ je programski jezik raz"i-iti5 dija"ekta6kao sto jezik ima raz"i-ite dija"ekte. U C++ dija"ekti %e postoje z!og toga 1to %etko 9ivi u >a"ma0iji i"i S"avo%iji6 ve? zato 1to postoje %iz raz"i-iti komp"ai"era. Svaki od ti5 kompai"era je ma"o druga-iji. Svaki !i tre!ao @AS;<;S) sta%dard C++ :u%k0ije6 a"i ujed%o svaki kompai"er ?e imati %eke %esta%dard%e :u%k0ije 3te :u%k0ije su s"i-%e raz"i-itom s"e%gu u raz"i-itim dije"ovima dr9ave4. Po%ekad kori1te%je %esta%dard%i5 :u%k0ija ?e stvoriti pro!"em kada poku1ate komp"airati sour0e kod sa raz"i-itim kompai"erom.

U ovom semi%aru koristimo sta%dardi C++ kod tako da %e !i tre!a"o imati pro!"ema sa moder%im kompai"erima.

2.Struktura programa u c++


Bo9da %aj!o"ji %a-i% da se %au-i raditi u %ekom programskom jeziku jest da se po-%e s pisa%jem programa. 'ako ?emo i mi6 stoga6 evo %a1 prvi program: << moj prvi program u C++ Ci%0"udeDiostreamE Usi%g %amespa0e std: ;%t mai%3 4 3 0outDDD 8 Bi ze"imo :u"" !odova F8G 4 )vo je jeda% od %ajjed%ostav%iji5 programa koji se mogu %apisat u 0++6 a"i %eke %ajos%ov%ije stvari koje svaki 0++ program ima. Pog"edat ?emo "i%iju koda i o!jas%iti svaku. <<moj prvi program u C++ )vo je kome%tar. Sve "i%ije koje po-i%ju sa dvje kose 0rte 3<<4 su smatra%i kao kome%tari i %emaju %ikakav utje0aj %a po%a1a%je programa. Programer i5 mo9e koristiti kao kratka o!ja1%je%ja i"i prou-ava%ja u%utar sour0a koda. U %a1em s"u-aju6 "i%ija je kratki opis 1to je %a1 program Ci%0"udeDiostreamE 4

/i%ija koja po-i%je s z%akom "jestve 3C4 je predpro0esorska %ared!a. 'akve "i%ije %isu o!i-%e koda sa %ekim izrazom6 ve? i%dikator za predpro0esor kompai"era. U %a1em %ared!a Ci%0"ude DiostreamE poziva iz predpro0esora iostream sta%dard%u datoteku. )va spe0i:i-%a datoteka uk"ju-uje dek"ara0ije sta%dard%i5 u"az%o-iz"az%i5 !i!"ioteka u 0++6 a uk"ju-e%a je z!ogsvoje :u%k0io%a"%osti koja ?e !iti kas%ije kori1te%a u programu. usi%g %amespa0e stdG Svi e"eme%ti sta%dard%e 0++ !i!"ioteke su dek"arira%i u%utar o%og 1to se zove %amespa0e6 %amespa0e sa ime%omstd. $ako !ismo pristupi"i %jezi%oj :u%k0io%a"%osti moramo dek"arirati ovaj izraz koji ?emo koristiti. )va "i%ija kada je dosta -esta u C++ programima koji koriste sta%dard%e !i!"oteke6 te ?e se ujed%o dosta koristitii u osta"im kodovima ovog semi%ara.

i%t mai% 34

)va "i%ija predstav"ja po-etak de:i%i0ije g"av%e :u%k0ije. H"av%a :u%k0ija je mjesto gdje svi C++ programi po-i%ju svoje izvr1ava%je6 %eovis%o o mjestu u sour0e kodu. Aema veze da "i postoje osta"e :u%k0ije sa druga-ijim ime%ima ispred i"i iza-%ared!e sadr9a%e u%utar ove :u%k0ije ?e uvijek !iti prve izvr1ava%e u svakom C++ programu. ;z toga raz"oga je va9%o da svi C++ programi imaju mai% :u%k0iju. ;za mai% :u%k0ije s"ijede par zagradi I34J. 'o je zato 1to je to dek"era0ija :u%k0ije : u C++ o%o 1to raz"ikuje dek"era0iju :u%k0ije od osta"i5 izraza su ovi parametri. Po%ekad6 ovi parametri mogu imati "istu parametra u%utar %ji5. Aako% toga imamo sim!o" Kkoji %am oz%a-ava po-etak !"oka %ared!i. 0outDD 7 Bi 9e"imo :u"" !odove iz semi%ara...5e5eFLG )va "i%ija je C++ izjava. ;zjava je jed%ostava% i"i s"o9e%i izraz koji mo9e stvoriti %eki e:ekt. Ustvari6 ova izjava izvodi vizua"%i e:ekt u %a1em prvom programu.

Cout je dek"arira% u iostream sta%dard%oj datote0i u%utar std %amespa0e6 te zato morammo dodati tu %ared!u i dek"arirati je da ?emo ju koristiti kao spe0i:i-%u %o%amespa0e %ared!u u %a1em kodu. retur% .G retur% izjava zavr1ava mai% :u%k0iju. Aako% %ared!e retur% mo9e s"ijediti retur% kod 3u %a1em s"u-aju je to .4. U retur% kodu . za mai% :u%k0iju o!i-%o se i%terpertrira da je program radio kako smo o-ekiva"i !ez gre1aka tijekom izvoMe%ja. )vo je %aju-esta"iji %a-i% kako zavr1iti C+ + program. Aako% toga s"ijedi sim!o" L koji oz%a-ava kraj !"oka %ared!i.

3.Varija le! kon"tante i tipovi podataka

arija!"e U s"u-aju kada 9e"imo sami %apisati :u%k0iju6 moramo paziti da %am se ime varija!"e %e pok"apa sa %ekom od k"ju-%i5 rije-iu C++6 jer !i u tom s"u-aju kompai"er pomike1ao sa sta%dard%imk"ju-%im rije-ima. @ te k"ju-%e rije-i su: asm6 auto6 !oo"6 !reak6 0ase6 0at056 05ar6 0"ass6 0o%stN0ast6 0o%ti%ue6 de:au"t6 de"ete6 do6 dou!"e6 dO%ami0N0ast6 e"se6 e%um6 ePp"i0it6 ePport6 ePter%6 :a"se6 :"oat6 :or6 :rie%d6 goto6 i:6 i%"i%e6 i%t."o%g6 muta!"e6 %amespa0e6 ew6 operator6 private6 prote0trd6 pu!"i06 register6 rei%terpretN0ast6 retur%6 s5ort6 sig%ed6 sizeo:6 stai06 stati0N0ast6 stru0t6 swit056 temp"ate6 t5is6 t5row6 true6 trO6 tOpede:6 tOpeid6 tOpe%ame6 u%io%6 u%sig%ed6 usi%g6 virtua"6 void6 vo"ati"e6 w05arNt6 w5i"e. 're!a ujed%o paziti da je C++ 70ase se%sitive8 programerski jezik6 te da Q=SU/' varija!"a %ije isto 1to i resu"t varija!"a i"i Qesu"t varija!"a. 'o su 3 raz"i-ite variuja!"e. >ek"arira%je varija!"i

&

$ako !ismo koristi"i varija!"u u C++6 moramo ju prvo dek"arirati koji ?e tip podataka !iti. Si%taksa za dek"arira%je %ove varija!"e je pisa%je spe0e:ikatorai"i 9e"je%og tipa podataka 3 %or.;%t6 !oo"6 :"oat...4 %ako% -ega s"ijedi isprav%o ime ide%ti:ikatora. Apr.: ;%t a R"oatmoj!rojG )vo su dvije isprav%e dek"ara0ije varija!"e. Prva dek"arira varija!"u tipa i%t sa i%deti:ikatorom a6 druga dek"arira varija!"u tipa :"aot sa i%deti:ikatorom moj!roj. $ada se varija!"ea i moj!roj dek"ariraju mogu se koristiti kas%ijeu programu

$o%sta%te $o%sa%te su izrazi sa %amje1te%om vrijed%osti >os"ov%e ko%sta%te: >os"ov%e ko%sta%te izra9avaju odreMe%u vrijed%ost u%utar sour0e koda programa. Apr.6 kada mapi1emo: aS#6# u ovom dije"u koda predstav"jados"ov%u ko%sta%tu. >os"ov%e ko%sta%te mogu !iti podje"je%e u !roj%e i%teger6 stri%gove i 2oo"ea%ove vrijed%osti.

>e:i%ira%e ko%sta%te 3Cde:i%e4 Bo9emo sami de:i%irati ime%a za ko%sta%te koje -esto koristimo !ez da pose9emo %eke !i!"ioteke. Ted%ostav%o koriste?i Cde:i%e predpro0esorsku %ared!u. Si%taksa je: Cde:i%e ime vrijed%osti Apr. Cde:i%e P; 3.141#+2&# Ted%om kada su ko%sta%te de:i%ira%e6 mo9emo i5 koristiti u ostatku koda

>ek"arira%e ko%sta%te 30o%st4 Sa pre:ikosom 0o%st mo9emo de"arirati ko%sta%tu sa spe0i:i-%im tipom %a isti %a-i% kao 1to radimo sa varija!"om. Apr.: 0o%st i%t !odovi S2+.G )vako %apisa%e ko%sta%te se jed%ako izvode kao i varija!"e smo 1to se %ji5ova vrijed%ost %e mo9e mje%jati %ako% de:i%ira%ja

'ipovi podataka $ad programiramo6 spremamo varija!"e u memoriju kompjutera6 a"i kompjuter mora z%ati 1to mi 9e"imo spremiti u memoriju6 kada %e?e zauzeti jed%aki dio memorije sprema%ja jed%ostav%og !roja i"i %ekog ve"ikoga6 a i %e?e !iti jed%ako i%terpretira%. Bemorija je u kompjutorima orga%izira%a u !itovima. 2ajt je %ajma%ja ko"i-i%a me%orije koju mo9emo koristiti u C++. 2ajt mo9e spremati re"ativ%o ma"o !roj podataka: jed%o s"ivo i"i ma"i i%teger 3op?e%ito6 i%teger u vrijed%osti od .-2##4. >odat%o6 kompjuter mo9e raditi sa s"o9e%im tipovima podataka %asta"i5 grupira%ja vi1e !itova6 %pr.: ve"iki5 !rojeva i"i %e i%teger !rojeva. 'ipovi podataka u C++ su: 1. 05er 2. s5or i%t 3. i%t 4. "o%g i%t #. !oo" &. :"oat (. dou!"e *. "o%g dou!"e +. w05aeNt

#. $peratori
Sada kada z%amo varija!"e i ko%sta%te6 mo9emo po-eti raditi s %jima. ,a tu %amjeru6 C++ koristi operatore. ,a raz"iku od drugi5 jezika -iji su operatori -esto k"ju-%e rije-i6 operatori u C++ su ve?i%om z%akovi koji %isu dio a":a!eta %ego su dostup%i %a svim tipkov%i0ama. )vo -i%i C++ kod kra?im i vi1e i%ter%a0io%a"%i56 jer tra9i ma%je =%g"eski5 rije-i6 a"i zato tra9i ma"o vi1e truda u po-etku. )perator dodje"jiva%ja 3S4 )perator dodje"jiva%ja dodje"juje vrijed%ost %ekoj varija!"i. Apr: aS#: U ovom s"u-aju varija!"i a je doda%a vrijed%ost #.

@ritmeti-ki operatori 3+6-6U6VW6<4 # @ritmeti-ki5 opera0ija je podr9a%o u C++6 @ o%e su: + z!raja%je - oduzima%je U m%o9e%je < dije"je%je W modu" Spoje%i operatori 3+S6-S6US6<S6WS6EES6DDS6XS4 $ada 9e"imo promije%iti vrijed%ost varija!"e izvode?i opera0iju vrijed%osti tre%ut%o sprem"je%e u memoriji mo9emo korisiti spoje%e operatore. Apr: rijed%ost US pove?a%je G %am je jed%ako sa vrijed%ost S vrijed%ost + pove?a%je G +

@-S#G %am je jed%ako sa a Y # : Pove?a%je i sma%je%je 3++6 --4 Skra?iva%je %eki5 izraza6 operator pove?a%ja 3++4 i operator sma%je%ja 3--46 pove?avaju i"i sma%juju za 1 vrijed%ost sprem"je%u u varija!"i. Ted%aki su izrazu +S1. i S1. %pr: C++G 0+S1 G 0S0+1G su isti u svojoj :u%k0iji6 sva tri izraza pove?avaju za 1 vrijed%osz varija!"e 0. Qe"a0ije i operatori jed%akosti 3SS6FS6E6D6ES6DS4 $ada moramo usporediti 2 izraza mo9emo koristiti operatore re"a0ije i jed%akosti. Qezu"tat re"a0ijske opera0ije je 2oo"ea% vrijed%ost6 koja mo9e !iti samo isti%a i"i "a96 ovise?i o 2oo"ea%ovom rezu"tatu. Bo9emo i usporediti 2 izraza da vidimo da "i su jed%aki i"i je jeda% ve?i od drugoga. )vdje je popis operatora re"a0ije i jed%akosti koji se mogu koristiti u C++G SS jed%ako FS %ije jed%ako E ve?e od D ma%je od ES ve?e i"i jed%ako DSma%je i"i jed%ako /ogi0ki operatori 3 F6XX6 4

)peratori F u C++ izvodi 2oo"eovu opera0iju A)' 6 i jedi%a stvar koja radi je da %apravi i%verz%u vrijed%ost od u%e1e%e. /ogi-kimoperatori XX ; se koriste kada pro0je%jujemo 2 izraza da !i do!i"i jeda% Qe"a0ijski rezu"tat. )perator XX predstav"ja 2oo"ea%ov "ogi-ki operator @A>. )vaj operator ima za rezu"tat isti%u samo kada su o!a rezu"tata isti%ita. )perator predstav"ja 2oo"ea%ov "ogi-ki operator )Q. )vaj operator ima za rezu"tat isti%u ako je !arem jeda% od dva isti%ita6 a za "a9 samo kada su o!a "a9%a. Uvjetova%i operator 3Z4 Uvijetiva%i operator daje vrijed%ost izrazu vra-aju?i vrijed%ost u izrazu ako je izrazisti%i"i i"i daju?i druga-iju vrijed%ost ako je izraz "a9a%. Si%taksa ovog operatora je: Uvijet Z rezu"tat 1 : rezu"tat 2 Apr: (SS# Z 4:3 << vra?a vrijed%ost 36 jer ( %ije jed%ako # (SS#+2 Z 4:3 << vra?a vrijed%ost 46 jer je ( jed%ako #+2

1.

%. &akljuak'
)vaj semi%ar smo %apisa"i tako da !i "judima koji se %ikad %isu susre"i sa programskim jezikom C++ poku1a"i predo-iti 1to je zapravo C++ i kako se u %jemu radi. 2i"i smo ogra%i-e%i s vreme%om stra%i0a tako da %ismo %i stig"i staviti sve 1to smo p"a%ira"i 3i: pet"je6 :or pet"je6 stri%gove6 matri0e6 vi1edime%zio%a"%a po"ja6 poi%tere6 %izove6 rekurzije46 zapravo sve o%o 1to ovaj program -i%i za%im"jivim6 tako da smo sastavi"i ovo 1to smo smatra"i da je %ajos%ov%ije. $ako sam programirao programski jezikC6 C++ je ma"o s"o9e%iji u po-etku6 jer oso!%o %isam %ikad radio u %jemu6 tako da mi je !i"o ma"o te9e dok sam poku1ao s5vatiti pisa%je %eki5 %areda!a i z!og -ega su tako odreMe%e6 a"i sada %ako% %apisa%og semi%ara mogu re?i da je C++ jed%ostav%ij 1to se ti-e %eki5 %areda!a6 a i sour0e kodovi su pu%o kra?i te se "ak1e s%a"aziti u %jima u s"u-aju de!agira%ja.

11

(. /iteratura
5ttp:<<www.et:os.5r<[ddose%<pro!a<s"ide<up"oad<PQ=>B=';<S1.2<*12)PQN)peratori.pd:.... 21..4.2..* 5ttp:<<www.0ode-it.%et<Z\S!ooktree...21..4.2..* 5ttp:<<5r.wikipedia.org<wiki<ProgramskiNjezik..21..4.2..*

www.maturski.org

12

You might also like