Pitanja za završni ispit iz predmeta PROGRAMIRANJE II: 1. Naredba return 2. Komunikacija između funkcija 3. Vidljivost varijabli 4.

Memorijske klase varijabli - automatska 5. Memorijske klase varijabli - statička 6. Memorijske klase varijabli - registarska 7. Memorijske klase varijabli - eksterna 8. Rekurzija 9. Pokazivači(pointeri) 10. Deklaracija pokazivača 11. Operator dereferenciranja(indirekcije) 12. Aritmetika sa pokazivačima 13. Pokazivači na pokazivače 14. Pokazivači i funkcije 15. Pokazivači na funkcije 16. Jednodimenzionalni nizovi 17. Višedimenzionalni nizovi -2D 18. Jednodimenzionalni nizovi i pokazivači 19. Višedimenzionalni nizovi i pokazivači 20. Funkcije i jednodimenzionalni nizovi 21. Stringovi 22. Deklaracija i inicijalizacija stringova 23. Stringovi i funkcije 24. Standardne funkcije biblioteke za obradu podataka stringova 25. Strukture - deklaracija i definicija 26. Deklarisanje varijabli tipa struktura 27. Pristup članovima struktura 28. Strukture i pokazivači 29. Strukture i funkcije

1.Naredba return Naredba return je u direktnoj relaciji sa c funkcijama i moze se koristiti u dvije svrhe 1. Izvrsenje naredbe return uzrokuje trenutno napustanje funkcije i povratak u pozivajucu Naredba return koristi se za vracanje sracunate vrijednosti u pozivajucu funkciju u istovremeno napustanje funkcije

poziva pozvane funkcije 3. Tok programa iz pozivajuce se prenosi u pozvanu Izvrsavanje transformacija u tijelu pozvane funkcije Vracanje sracunate vrijednosti u pozivajucu Tok izvrsavanja programa se prenosi u pozivajucu funkciju na prvu naredbu iza naredbe poziva upravo zavrsene

2.

Globalne

4.

Lokalne varijable su one koje su deklarisane unutar bloka naredbi omedjenog parom viticastih zagrada {} i vrijede samo u tom dijelu programa.U funkcijama lokalne varijable su sve one koje su deklarisane u tijelu funkcije ukljucujuci i deklarisane parametre funkcije. Globalna varijabla je vidljiva za sve funkcije definisane unutar datoteke u kojoj je deklarisana ta globalna varijabla uz to da je globalna deklarisana fizicki ispred tih funkcija.

2.

5.

6.

2.Komunikacija izmedju funkcija 1. Pozivanje pozvane funkcije Lista argumenata koja je proslijedjena prilikom poziva funkcije se kopira u memorijske lokacije koje su kreirane prilikom

4.Memorijske klase varijabli Varijable sa automatskom klasom se kreiraju, odnosno zauzimaju memorijski prostor samo pri dolasku toka programa u blok ili u funkciju u kojoj su deklarisane. 4.Automatska (auto) dodijeljuje se varijablama cije ce se koristenje izvrsiti unutar bloka u koji je ta varijabla deklarisana. • Kreiranje i manipulacija slozenih tipova podataka Vracanje vise od jedne vrijednosti c funkcija

2.

3.Vidljivost varijabli Obzirom na vidljivost varijable mogu biti : 1. Lokalne

5.Registarska (register)trajanje kratko(od mjesta umetanja do mjesta prestanka njene obrade). 6.Staticka (static) omogucava da varijabla traje od pocetka do kraja.Mora biti inicijalizirana. 7.Externa(extern) omogucava globalnoj varijabli da bude vidljiva i u drugoj datoteci.

8.Rekurzija Rekurzivne funkcije su funkcije koje pozivaju same sebe. n!=(n-1)!*n 1!=1 9.Pokazivaci • Vrse manipulaciju vrijednostima varijabli pomocu adresa •

Pokazivac je varijabla koja sadrzi adresu varijable na koju pokazuje.Sluzi da bi smo mogli naci adrese i pristupiti varijabli

.
10.Deklaracija pokazivaca tip podatka *ime pokazivaca gdje je:

*-simbol koji ukazuje na to da je rijec o pokazivackoj varijabli ime pokazivacaidentifikator pokazivaca

11.Operator dereferenciranja (indirekcije) Omogucava pristup memorijskoj lokaciji preko njene adrese.Moze se koristiti na dva nacina: *ptr=var;


tip podatka-bilo koji tip u c jeziku

var=*ptr;

tip podatka(*pokazivac_na_fun kciju)(lista parametara); gdje je:

moze se pristupiti preko adresa tako sto se kreira pokazivac koji se inicijalizira vrijednoscu adrese prvog elementa niza. INT niz [5]={5,10,12,14,12};

12.Aritmetika sa pokazivacima Moze se odraditi: • ++ ili - (inkrementiranje ili dekrementiranje) Pokazivacu se moze dodati ili oduzeti cijeli broj(+,-,+=,-=) Pokazivacu mozemo dodati ili oduzeti neki drugi pokazivac.

tip podatka-tip podatka koji funkcija vraca i moze biti bilo koji validan c tip podatka (*pokazivac_na_funkciju)ime pokazivaca na funkciju.( ) su obavezne (lista parametara)-lista parametara funkcije 16. Jednodimenzionalni nizovi tip_podatka ime niza[broj elemenata niza]; tip podatka-tip podatka elemenata niza moze biti bilo koji validan tip podatka u c jeziku ime niza-deklarisano ime niza []-uglaste zagrade identificiraju niz a broj u zagradama deklarise broj elemenata niza Npr.

&niz[3]=&niz[0]+3*INT 2B

19. Višedimenzionalni nizovi i pokazivači

Elementima visedimenzionalnih nizova moguce je takodje pristupiti preko pokazivaca. Primjer: float realna_matrica[3] [3]={{1,2,3},

13. Pokazivaci na pokazivace Pokazivac na pokazivac varijabla moze da storira vrijednost adrese pokazivacke varijable.Takodjer mora biti deklarisana.Opsta forma deklaracije glasi je : tip podatka **ime pokazivaca; gdje je:

{4,5,6},

INT ocjena[5]; tip podatka-bilo koji validan tip podatka u c jeziku **-oznacava da je rijec o varijabli pokazivac na pokazivac ime pokazivaca-korisnicki zadato ime 17. Višedimenzionalni nizovi -2D tip_podatka ime 2D_niza[broj_redova][broj_kolona]; Npr. INT brojevi [2][3]; DOUBLE realni_brojevi [10][5]; 15. Pokazivaci na funkcije Pokazivac na funkciju se koristi u dvije svrhe: • • poziv funkcije iz funkcije poziv neke druge funkcije 18. Jednodimenzionalni nizovi i pokazivači Elementima jednodimenzionalnih nizova INR brojevi [2][3]={{2,4,8}, {7,9,11}}; FLOAT snaga[3]; CHAR znak[4];

{7,8,9}}; Pri prevodjenju ove deklaracije prevodilac kreira jednodimenzionalni niz pokazivackih konstanti realna_matrica, sa imenima realna_matrica[0],realna_matri ca[1] i realna_matrica[2].

14. Pokazivaci i funkcije Poziv po vrijednosti (call by value) Poziv po referenci (call by reference)

20. Funkcije i jednodimenzionalni nizovi Definicija funkcije: tip_funkcije ime_funkcije(tip niz1[R1][K1],tip niz2[R2] [K2],........tip niz n[Rn[Kn]) { tijelo funkcije; } gdje je:

Deklaracija pokazivaca na funkciju je :

tip funkcije-tip vrijednosti koju funkcija vraca u pozivajucu funkciju ime funkcije-korisnicko ime funkcije lista parametara-tipovi i imena parametara [R][K]-broj redova i kolona niza tijelo funkcije-programski kod i ostale varijable deklarisane u funkciji. Deklaracija funkcije: tip_funkcije ime funkcije(tip[R1] [K1],.....tip[Rn][Kn]);

jednodimenzionih nizova.Naravno neminovno je uvaziti pravilo o zavrsavanju stringova. char *string=“Univerzitet“; char string[]=“Univerzitet“;

PUTCHAR(CHAR karakter)ispisuje karakter PRINTF()-pise karaktere i stringove PUTS(CHAR*STRING)-pise cijele stringove SSCANF()-cita karaktere i stringove iz memorijske lokacije umjesto sa tastature SPRINTF()-pise karaktere i stringove kao i ostale tipove podataka u string varijabli umjesto na monitor U <string.h> nalaze se sljedece funkcije: STRCAT(CHAR*STRING1, CHAR*STRING2)-spaja string 1 i string 2 STRCMP(CHAR*STRING1, CHAR*STRING2)-poredi vrijednost stringa 1 i stringa 2 STRCPY(CHAR*STRING1, CHAR*STRING2)-kopira string 2 u string 1 STRCHR(CHAR*STRING, CHAR karakter)-provjerava da li se karakter nalazi u stringu. STRLEN(string)-izracunava duzinu stringa. U <ctype.h> nalaze se sljedece funkcije koje sluze za testiranje znakova ISALPHA(CHAR karakter)provjerava da li je karakter slovo ISDIGIT(CHAR karakter)provjerava da li je karakter broj ISUPPER(CHAR karakter)provjerava da li je karakter veliko slovo ISLOWER(CHAR karakter)provjerava da li je karakter malo slovo TOUPPER(CHAR karakter)konvertuje u veliko slovo TOLOWER(CHAR karakter)pretvara u malo slovo

23. Stringovi i funkcije VOID kopiraj_niz(char[],char[]); VOID kopiraj_niz(char s[],char t[]); { INT i; FOR(i=0; t[i]!=“\0“;i++) s[i]=t[i]; s[i]=t[i]; }

21. Stringovi Stringovi su jednodimenzionalni nizovi karaktera koji se zavrsavaju NULL karakterom \0 cija je vrijednost binarna nula.Postoje dvije vrste stringova: • • string konstante string varijable

Drugi nacin: VOID kopiraj_niz(char s[], char t[]) { INT i; WHILE ((s[i]=t[i])!=“\0“) i++ ; }

Primjer kreiranja string konstante: printf(„Danas radimo stringove,\n“); String varijable se kreiraju deklarisanjem niza karaktera odgovarajuce duzine.Npr. char string[20]; char veliki_string[100];

24. Standardne funkcije biblioteke za obradu podataka stringova Funkcije za obradu stringova su date u datotekama: <stdio.h>, <string.h>, <ctype.h> U <stdio.h> nalaze se sljedece: GETCHAR()-citaj jedan karakter SCANF()-citaj stringove i karaktere GETS(CHAR*STRING)-citaj cijeli string

22. Deklaracija i inicijalizacija stringova Prilikom deklaracije stringa prevodilac kreira konstantan pokazivac sa imenom stringa i dodjeljuje mu adresu prvog elementa datog stringa. Kod inicijalizacije string varijabli vrijede ista pravila kao i kod inicijalizacije

25. Strukture - deklaracija i definicija Deklaracija: STRUCT ime_strukture { dek laracija varijabli-clanova strukture }; struct-kljucna rijec za deklarisanje strukture ime strukture-korisnicki dato ime tipu struktura deklaracija clanova struktura-skup deklaracija varijabli koje cine strukturu

struct ime_strukture 1; ime funkcije(struct ime_strukture2,......); struct ime_strukture1 ime funkcije(struct ime_strukture2 ime_varijable,......) { tij elo funkcije; }

26. Deklarisanje varijabli tipa struktura struct ime_strukture ime_varijable; Varijable tipa struktura mogu biti inicijalizirane pri deklarisanju navodjenjem liste vrijednosti clanova strukture. 27. Pristup članovima struktura varijabla_tipa_struktura.ime _clana .(tacka)operator-povezuje ime varijable sa clanom varijable, odnosno omogucuje pristup clanovima varijabli tipa struktura.

28. Strukture i pokazivači struct ime_strukture *ime_pokazivaca; Npr. STRUCT zaposleni vozac; STRUCT zaposleni *vozac; pvozac=&vozac;

29. Strukture i funkcije

Sign up to vote on this title
UsefulNot useful