Professional Documents
Culture Documents
skripta za ispit
I grupa
#define PI 3.14
enum dan {Ponedeljak = 1};
int a;
long double b;
1
SISTEMSKO PROGRAMIRANJE, ODGOVORI ZA USMENI DEO ISPITA. FEBRUAR 2022. 46/19 IT
#include<stdio.h>
int main() {
int a;
char b;
return 0;
}
● Pojasniti kako printf iz uočenog primera može da ima escape karaktere (\n - Novi red) i
specijalne karaktere koji su generalno zauzeti (poput tih jednostrukih apostrofa), ukoliko
se koristi \. Takođe, pojasniti šta je šta unutar printf-a i scanf-a.
2
SISTEMSKO PROGRAMIRANJE, ODGOVORI ZA USMENI DEO ISPITA. FEBRUAR 2022. 46/19 IT
3. Naredbe
- U programskom jeziku C postoje brojne naredbe koje omogućavaju
kontrolu toka podataka.
● if else grananja
● switch (s case-ovima, default-om)
● for, while, do-while petlje
● break i continue
if (neki uslov) {
obavlja_se_nesto;
}else {
obavlja_se_nesto_drugo;
}
switch(1) {
case 1:
obavlja_se_nesto;
break;
case 2:
obavlja_se_nesto;
break;
default:
obavlja_se_nesto_u_svakom_drugom_slucaju;
//Ovde ne mora da ide break
3
SISTEMSKO PROGRAMIRANJE, ODGOVORI ZA USMENI DEO ISPITA. FEBRUAR 2022. 46/19 IT
for(int i=0;i<10;i++) {
obavlja_se_nesto_dok_i_ne_postane_9;
}
while( uslov ) {
obavlja_se_nesto_dokle_god_se_ispunjava_uslov;
}
do {
obavlja_se_nesto_makar_jednom_i_zatim_dokle_god_se_ispunjava_uslov;
}while(uslov);
for(int i=0;i<10;i++) {
obavlja_se_nesto;
if( uslov ) {
break; // Ukoliko je uslov ispunjen iskače se iz trenutnog bloka i prelazi na sledeći
}
} sledeci_blok_koda;
for(int i=0;i<10;i++) {
obavlja_se_nesto;
if( uslov ) {
continue; // Ukoliko je uslov ispunjen,obavlja se još jedna iteracija petlje
}
}
4
SISTEMSKO PROGRAMIRANJE, ODGOVORI ZA USMENI DEO ISPITA. FEBRUAR 2022. 46/19 IT
4. Nizovi i stringovi
5. Funkcije
5
SISTEMSKO PROGRAMIRANJE, ODGOVORI ZA USMENI DEO ISPITA. FEBRUAR 2022. 46/19 IT
int main() {
neki_kod;
stampaj(nekiFajl);
return 0;
}
public void stampaj(); /* Ako koristimo f-ju pre nego što je definisana
moramo da je deklarišemo */
int main () {
neki_kod;
stampaj(nekiFajl);
return 0;
}
6
SISTEMSKO PROGRAMIRANJE, ODGOVORI ZA USMENI DEO ISPITA. FEBRUAR 2022. 46/19 IT
7
SISTEMSKO PROGRAMIRANJE, ODGOVORI ZA USMENI DEO ISPITA. FEBRUAR 2022. 46/19 IT
II grupa
1. Pokazivači
int a[20];
int *pa;
pa = a; <==> pa = &a[0];
8
SISTEMSKO PROGRAMIRANJE, ODGOVORI ZA USMENI DEO ISPITA. FEBRUAR 2022. 46/19 IT
9
SISTEMSKO PROGRAMIRANJE, ODGOVORI ZA USMENI DEO ISPITA. FEBRUAR 2022. 46/19 IT
10
SISTEMSKO PROGRAMIRANJE, ODGOVORI ZA USMENI DEO ISPITA. FEBRUAR 2022. 46/19 IT
Struct osnovneInfo {
int starost;
char pol[20];
} osnovneInfo;
11
SISTEMSKO PROGRAMIRANJE, ODGOVORI ZA USMENI DEO ISPITA. FEBRUAR 2022. 46/19 IT
struct pravougaonik {
float a,b;
} pravougaonik;
struct figura {
int tip;
float obim;
union podaci {
struct pravougaonik p;
} podaci;
} figura;
12
SISTEMSKO PROGRAMIRANJE, ODGOVORI ZA USMENI DEO ISPITA. FEBRUAR 2022. 46/19 IT
struct boja {
unsigned int boja : 3;
unsigned int jacina : 1;
unsigned int pozadina : 3;
}boja;
4. Datoteke
FILE *f;
f = fopen(“imefajla.txt”, “r”);
13
SISTEMSKO PROGRAMIRANJE, ODGOVORI ZA USMENI DEO ISPITA. FEBRUAR 2022. 46/19 IT
● fgets(char *s, int maxL, FILE *f), fputs(char *s, FILE *f) -
učitavanje/ snimanje jednog stringa iz datoteke
14
SISTEMSKO PROGRAMIRANJE, ODGOVORI ZA USMENI DEO ISPITA. FEBRUAR 2022. 46/19 IT
5. Liste
15
SISTEMSKO PROGRAMIRANJE, ODGOVORI ZA USMENI DEO ISPITA. FEBRUAR 2022. 46/19 IT
1. Dodavanje na početak
2. Dodavanje na kraj
3. Pronalaženje čvora
4. Brisanje čvora
5. Brisanje liste
● Dodavanje na početak
16
SISTEMSKO PROGRAMIRANJE, ODGOVORI ZA USMENI DEO ISPITA. FEBRUAR 2022. 46/19 IT
● Pronalazenje cvorova
● Brisanje cvora
while(tekuci != NULL) {
if(tekuci->INF == trazeniINF) {
if (tekuci == *pocetak_liste) {
*pocetak_liste = tekuci->sledeci;
}
else {
prethodni->sledeci = tekuci->sledeci;
}
}
prethodni = tekuci;
tekuci = tekuci->sledeci;
}
17
SISTEMSKO PROGRAMIRANJE, ODGOVORI ZA USMENI DEO ISPITA. FEBRUAR 2022. 46/19 IT
● Brisanje liste
6. Stabla
18
SISTEMSKO PROGRAMIRANJE, ODGOVORI ZA USMENI DEO ISPITA. FEBRUAR 2022. 46/19 IT
● Ubacivanje u stablo
● Pronalaženje čvora
● Brisanje čvora
● Brisanje stabla
19
SISTEMSKO PROGRAMIRANJE, ODGOVORI ZA USMENI DEO ISPITA. FEBRUAR 2022. 46/19 IT
● Ubacivanje u stablo
if (*pkoren == NULL)
{
*pkoren = novi;
novi->levi = NULL;
novi->desni = NULL;
}
else {
if (novi->inf < (*pkoren)->inf) {
dodaj(novi, &(*pkoren)->levi);
}
else {
dodaj(novi, &(*pkoren)->desni);
}
}
● Pronalaženje čvora
if (koren == NULL)
return NULL;
if (inf < koren->inf) {
return pronadji(inf, koren->levi);
}
else if (inf > koren->inf) {
return pronadji(inf, koren->desni);
}
else {
return koren;
20
SISTEMSKO PROGRAMIRANJE, ODGOVORI ZA USMENI DEO ISPITA. FEBRUAR 2022. 46/19 IT
● Brisanje čvora
if (*koren == NULL)
return;
21
SISTEMSKO PROGRAMIRANJE, ODGOVORI ZA USMENI DEO ISPITA. FEBRUAR 2022. 46/19 IT
● Brisanje stabla
if (koren != NULL)
{
obrisi_stablo(koren->levi);
obrisi_stablo(koren->desni);
printf("brisem: %i\n", koren->inf);
free(koren);
}
22