Beruflich Dokumente
Kultur Dokumente
Sveučilište/Univerzitet"Vitez"U Travniku Fakultet Informacionih Tehnologija
Sveučilište/Univerzitet"Vitez"U Travniku Fakultet Informacionih Tehnologija
PROGRAMSKI JEZIK C
SEMINARSKI RAD
Travnik, 2019.
SVEUČILIŠTE/UNIVERZITET“VITEZ“ U TRAVNIKU
FAKULTET INFORMACIONIH TEHNOLOGIJA
IZJAVA:
Ja, Alen Kalaković, student Sveučilišta/Univerziteta „Vitez“ u Vitezu,
indeks broj: 119-18/RIIT odgovorno i uz moralnu i akademsku
odgovornost izjavljujem da sam ovaj rad izradio potpuno samostalno uz
korištenje citirane literature i pomoć profesora.
1. UVOD ................................................................................................................... 1
0
4.9. Cast operator ................................................................................................ 21
Prioriteti operatora .................................................................................................. 21
5. Ulazne i izlazne naredbe u programskom jeziku C ............................................ 22
9. Zaključak ............................................................................................................ 34
Literatura .................................................................................................................... 35
1. UVOD
Predmet istraživanja ovog seminarskog rada jeste nešto opčenito reći o programskom
jeziku C , na koji način radi i koje su njegove najznačajnije karakteristike .
Objekat istraživanja je programski jezik C.
Svrha i cilj ovog seminarskog rada jeste detaljno pojasnitiprogramski jezik C, ispita-
ti na koji način radi ,kako programirati u tom programskom jeziku ,navesti njegove
najvažnije karakteristike i opisati sve te karakteristike.
1.4.ZNANSTVENE METODE
Statička metoda
Povijesna metoda
1
1.5.STRUKTURA RADA
Treće poglavlje nosi naziv kosntante i varijable , u tom poglavlju se definiše šta su
konstante i varijable i šta sve u njih ubrajamo. Samo poglavlje se sastoji iz osam
potpoglavlja koji obuhvataju sve ono što spada u konstante i varijable .
Peto poglavlje se odnosi ulazne i izlazne naredbe programskog jezika C. Ovo po-
glavlje se sastoji od jednog potpoglavlja . U tom potpoglavlju je navedeno kako se
ispisivaju i učitavaju znakovi, te mnoge ulazne i izlazne naredbe.
2
2. Programski jezik C
Programski jezik C je viši programski jezik opće namjene. Također za programski
jezik C može se reći da je konzolni jezik , strukturni jezik jer koristi strukture kao
primaran vid izvedenih tipova podataka.
Izvor : http://www.educa.fmf.uni-lj.si/izodel/sola/2001/di/Rupar/izobrazevanje/tutorc
Ovaj programski jezik je nastao 70-tih godina 20 vijeka . Autor ovog programskog
jezika je Dennis Ritchie, no značajan doprinos nastanku C-a dali su Ken Thompson
kao autor programskog jezika B i Martin Richards, autor programskog jezika BCPL.
Prva značajna verzija ovog programskog jezika poznata je pod nazivom "K&R C",
što je engl. kratica prezimena dvaju autora najpoznatijeg C priručnika "The C Pro-
gramming Language", a to su Brian Kernighan i Dennis Ritchie.
Prvobitni razvoj C programskog jezika započinje između 1969 i 1973 u AT&T Bell
Labs, i po Dennis Ritchie-ju najkreativniji period je bio u toku 1972-ge godine.
Nazvan je C jer su mnoge od njegovih karakteristika potekle od ranijeg programskog
jezika zvanog B.
3
novog programskog jezika je C++. Nažalost, ta je 100%-na kompatibilnost ujedno i
razlog što su problemi koje programiranje u C-u nosi sa sobom naslijeđeni u C++-u.
2.1.Razvoj C programa
2. Preprocesiranje
6. Izvršenje
Izvor : www.ucg.ac.me/.../Uvod%20u%20programski%20jezik%20C.ppt
4
2.2.Prvi program u programskom jeziku C
Svaki program u programskom jeziku C započinjemo naredbom #include < stdio.h >
Iza oblih zagrada dolaze vitičaste zagrade koje određuju tijelo funkcije .
1
M. Jurak Programski jezik C
5
3. Konstante i varijable
Konstante su podaci čije se vrijednosti ne mogu mijenjati , dok su varijable podaci
čije se vrijednosti tokom izvođenja programa mijenjaju.
1. Znakove
2. Komentare
3. Identifikatore i ključne rijeći
4. Osnovne tipove podatak ( cjelobrojne, znakovne, logičke, realne,kompleksne)
5. Deklaracija varijabli ( polja i pokazivači)
6. Konstante
7. Inicijalizacija varijabli
8. Enumeracije
3.1. Znakovi
+ - * / = % & #
! ? ^ " ' ͂ \ ׀
< > ( ) [ ] { }
. , : ; _(bjelina)
Izvor: https://web.math.pmf.unizg.hr/~singer/Prog_Add/c.pdf
3.2. Komentari
2
M. Jurak Programski jezik C
6
3.3. Identifikatori i ključne riječi
1. Promjenljive
2. Simboličke konstante
3. Funkcije
4. Korisničke tipove podataka
5. Labele
Ključne riječi su riječi čije je značenje unaprijed definisano i ne mogu se koristiti kao
identifikatori.
Izvor: https://web.math.pmf.unizg.hr/~singer/Prog_Add/c.pdf
3
M. Jurak Programski jezik C
7
3.4. Osnovni tipovi podataka
Char ( mali cjelobrojni podatak dužine 1 bajt koji može da primi i kod jednog
znaka pa se koristi i predstavljanje znakovnih podataka ).
Cjelobrojni podatci služe za pamčenje cjelih brojeva. Svaki od ovih tipova pokriva-
ju određen raspon cijelih brojeva zavisno o količini memorije koju zauzima i načinu
kodiranja.5
Singned – kaže da se radi o označenom podatku (po default-u svi su podatci oz-
načeni).
Logički podatci : Svaki cjelobrojni tip podataka može preuzeti ulogu logičkog tipa
podataka tako što se vrijednost različita od nule interpretira kao istina , a nula kaže
laž.
Poseban tip logičkih podataka je _Bool koji može imati samo vrijednosti 0 ili 1
( istina ili laž ) .
4
M. Jurak Programski jezik C
5
Dennis M. Ritchie Brian W. Kernighan”The C Programming Language” , Prentice Hall New Jersy
1983
8
Realni podatci : Podaci tipa float , double i long double su realni brojevi koji zbog
specifičnog načina pamčenja u računaru imaju naziv brojevi s pokretnim zarezom
(eng.floating point numbers). Oni su analogni cjelobrojnim tipovima short , int i
long.
Kompleksni podatci :
Kod ove vrste podataka imamo tri kompleksna tipa float_Complex, dou-
ble_Complex i long double_Complex. 6
Pored ova tri tipa podataka imamo još tri imaginarna tipa , a to su :
1. float_Imaginary
2. double _Imaginary
3. long double_Imaginary
Varijabla je objekat koji zauzima dio memorijskog prostora i koji se može dohvatiti
putem svog imena. Ima tri atributa o kojim ovisi kako će se podatak pohranjen u
memoriji interpretirati : to su tip , memorijska klasa varijable i doseg. 7
Deklaracija određuje ime i tip varijable i ima oblik - tip ime ; , gdje je tip varijabla ,a
ime njeno ime.
Primjer : int a,b ;
unsigned c ;
char d ;
U ovom primjeru a i b su cjelobrojne varijable , c je cjelobrojna varijabla bez
predznaka , a d je znakovna varijabla.
6
Dennis M. Ritchie Brian W. Kernighan”The C Programming Language” , Prentice Hall New Jersy
1983
7
M. Jurak Programski jezik C
9
Varijable istog tipa moguće je deklarirati u istom redu : short a,b,c ;
Doseg varijable je dio programa u kojem je varijabla vidljiva , odnosno dio programa
u kojem joj se može pristupiti putem njenog imena. Doseg varijable definirane u
nekoj funkciji je tijelo te funkcije. Iz drugih funkcija toj se varijabli ne može
pristupiti. Varijabli deklariranoj izvan svih funkcija(vanjskoj varijabli) može se
pristupiti iz svake funkcije.
Polje je niz varijabli istog tipa indeksiranih cjelobrojnim indeksom koji se kreće u
rasponu od 0 do n-1 , gdje je n broj elemenata polja.
Tip ime [dimenzija] ; - gdje je tip tip podataka, ime ime polja , a dimenzija
je broj elemenata polja.
Deklaracija polja može biti dana zajedno s deklaracijama drugih varijabli kao
u primjeru float x, vektor[10], y; - u kom su x i y varijable tipa float , a
vektor polja od 10 elemenata tipa float.
3.6.Konstante
10
Primjeri su: 0 1 234 -456 99999
Sve numeričke konstante moraju biti unutar granica odredenih tipom podatka
koji predstavljaju.
Cjelobrojne konstante moraju stoga biti unutar granica odredenih tipom int.
Konstante tipa unsigned, long i unsigned long mogu poprimiti vrijednosti veče od
običnih cjelobrojnih konstanti i stoga moraju biti posebno označene.
Konstanta tipa long formira se tako da se na kraj cjelobrojne konstante doda slovo L
(veliko ili malo), konstanta tipa unsigned formira se dodavanjem slova U (veliko ili
malo). Konstanta tipa unsigned long formira se dodavanjem slova UL
(veliko ili malo).8
Primjeri su:
Konstanta Tip
500000U unsigned (decimalna)
123456789L long (decimalna)
123456789ul unsigned long (decimalna)
0123456l long (oktalna)
0X50000U unsigned (heksadecimalna)
-5000ULL long long (decimalno)
50000ULL unsigned long long (decimalno)
Zapis u fiksnom zarezu obavezno sadrži decimalnu tačku i to tačno tamo gdje je
njeno stvarno mjesto u broju (npr. 34.67, 56., .98).
8
M. Jurak Programski jezik C
12
Po default-u realne konstante su tipa double.
Dodavanjem sufiksa:
F ili f dobijaju se konstante tipa float,
L ili l, konstante tipa long double.
Znakovna konstanta je cijeli broj čija je vrijednost jednaka kodu znaka navedenog
između jednostrukih navodnika (npr. 'a', '>',...).
Npr. u ASCII skupu znakova, znakovna konstanta ‘5’ ima vrijednost 53,
‘A’ ima vrijednost 65.
Kod Značenje
\b povratak za jedno mjesto unazad (backspace)
\f nova stranica (form feed)
\n novi red (new line)
\r povratak na početak linije (carriage return)
\t horizontalini tabulator
\v vertikalni tabulator
\0 nul znak (null character)
\? upitnik
\” navodnik
\' jednostruki navodnik
\\ obrnuta kosa crta (backslash)
Izvor: http://www.pef.uns.ac.rs/index.php/oglasi/category/34-izborni-blok-ii-c-
jezik?download=208:programski-jezik-c
(09.02.2018)
C prevodilac svaki znak prevodi u jedan cjeli broj tipa char (ASCII ekvivalent) i na
kraju dodaje još jedan znak sa vrijednošču 0 (‘\0’), tzv. null terminated symbol.9
Npr. literal "Zdravo" će se u memoriji zapisati kao ‘Z’ ‘d’ ‘r’ ‘a’ ‘v’ ‘o’ ‘\0’
9
Despalatović Lj.” Programkse metode i apstrakcije” , Sveučilište u Splitu , Split
Sve deklaracije varijabli mogu nositi kvalifikator const koji indicira da varijabla neče
nikad biti mijenjana, tj. da se radi o konstanti.
Npr. const double e=2.71828182845905;
3.8.Enumeracije
Npr.nakon deklaracije enum (False , True ) , imena False i True možemo koristiti u
program kao cjelobrojne konstante (False 0 , a True 1).
#define FALSE 0
#define TRUE 1
X = FALSE;
………..
If (x==TRUE) y=FALSE;
10
M. Jurak Programski jezik C
13
4. Operatori i izrazi u programskom jeziku C
Operatori su simboli koji označavaju određenu operaciju i koji povezuju jedan ili
više operanada u izraz.11
aritmetički operatori
relacioni operatori
logički operatori
operator grananja
sizeof- operator
comma operator
cast operator
1. Sabiranje (+)
2. Oduzimanje (–)
3. Množenje (*)
4. Dijeljenje ( /)
5. Modulo (%
11
Despalatović Lj.” Programkse metode i apstrakcije” , Sveučilište u Splitu , Split
14
Aritmetički operatori djeluju na numeričkim operandima tj. cjelobrojnim, realnim i
znakovnim operandima (znakovna konstanta ima cjelobrojni tip).
Svi ovi operatori su binarni , što znači da imaju dva argumenta i njihova svrha je
jasna ,osim posljednjeg.
1. numeričkog tipa
2. tipa pokazivača.
Kako logički tip u C-u nije definisan, ukoliko je poređenje tačno (tj. ukoliko je rela-
cija zadovoljena), rezultat je 1, u suprotnom rezultat je 0.
< (manje),
> (veće),
== (jednako),
! = (različito).
15
4.4. Operatori za rad sa bitovima
Primjeri:
int a,b;
a = 0723; // mem. lok a: 0000000111010011
b = ~a; // b: 1111111000101100
a = a << 4; // a: 0001110100110000
a = a >> 3; // a: 0000001110100110
b = a | 071; // b: 0000001110111111)
Ovo je binarni operator koji smješta vrijednost desnog operanda na lokaciju čije se
ime nalazi sa lijeve strane operatora. Lijevi operand mora biti ime memorijske lo-
kacije.
16
4.6. Operatori grananja
Ovo je jedini ternarni operator u C-u. Opšti oblik izraza kreiranog pomoću ovog op-
eratora je: < izraz1 > ?< izraz2 > : < izraz3 >
Kod ovog operatora izračunava se najprije vrijednost izraza < izraz1 >.
Ako je vrijednost ovog izraza različita od nule (true), izračunava se vrijednost izraza
< izraz2 > i njegova vrijednost je rezultat operacije.
Ako je vrijednost izraza < Izraz1 > jednaka nuli (false), izračunava se vrijednost
izraza < Izraz3 > i njegova vrijednost je rezultat operacije.
sizeof - izračunava broj bajtova koji zauzima neki podatak ili tip u memoriji.
Ovo je binarni operator koji služi za formalno spajanje više izraza u jedan izraz.
Lijevi i desni operand operatora “,” su izrazi, pri čemu je redoslijed njihovog
izvršavanja s lijeva na desno. (Uglavnom se koristi kod poziva funkcija).
17
4.9. Cast operator
Koristi se za eksplicitno pretvaranje promjenljive ili izraza jednog tipa u neki drugi
tip.
Operator je unaran i opšti oblik izraza za konverziju tipa je: (< tip >) < izraz >
gde je: < tip > - neki od tipova,
< izraz > - je promjenljiva ili neki složeniji izraz čiji tip treba promjeniti.
Prioriteti operatora
1. () [] . ->
2. unarni - ~ & | ++ -- sizeof
3. * / %
4. + -
5. << >>
6. < > <= >=
7. == !=
8. &
9. ^
10. |
11. &&
12. ||
13. ?:
14. = op =
15. ,
Izvor:https://svetinformatikeiprogramiranja.files.wordpress.com/2013/09/programski
jezikc.ppt
21
5. Ulazne i izlazne naredbe u programskom jeziku C
Programski jezik C ima jedinstveni način pristupa unosu i ispisu podataka. U ovom
programskom jeziku nisu definisane nikakve ulazno izlazne naredbe već se ulazno
izlazne operacije obavljaju putem funkcija deklariranih i definisanih u bibliotekama.
Funkcija putchar ( ) šalje jedan znak na standardni izlaz (ekran). Ona uzima jedan
argument i vrača cjelobrojnu vrijednost. Najčešće poziv funkcije ima oblik :
putchar(c_var); , pri čemu se vračena vrijednost ignorira.13
12
Dennis M. Ritchie Brian W. Kernighan”The C Programming Language” , Prentice Hall New Jersy
1983
13
M. Jurak Programski jezik C
Funkcija getch ( ) koristi se također u svrhu učitavanja znakova. Ona reagira na svaki
unos znaka ne čekajući ENTER, tijekom unosa znakovi se ne prikazuju na ekranu.
Funkcija putch ( ) koristi se prilikom ispisivanja skupa znakova. Ona vraća ispisani
broj znakova.
< format > u ovom izrazu je znakovni niz koji predstavlja definiciju konverzija koje
treba izvršiti pri unosu podataka. Svi ulazni podaci se učitavaju kao niz ASCII kodo-
va. Format definiše kako će se taj znakovni niz konvertovati u podatke odgova-
rajućeg tipa.
Svaka pojedinačna konverzija u ovom znakovnom nizu počinje znakom % i završava
se slovom koje označava vrstu konverzije.
Izvor: https://web.math.pmf.unizg.hr/~singer/Prog_Add/c.pdf
Prefiksi kod fukcije scanf :
Primjer : int a;
unsigned b;
float x, y;
long double z;
scanf(“%d%u%f%e%Lf”, &a, &b, &x, &y, &z);
Ova funkcija se poziva na sljedeći način: printf(< format >[< izraz1 >][,< izraz>]…)
, gdje je < format > znakovni niz koji predstavlja definiciju konverzija koje treba
izvršiti pri prikazu rezultata.
5. w – cijeli broj koji predstavlja širinu polja koje će se koristiti za prikaz podat-
ka.
6. d – cijeli broj koji ispred realnih podataka predstavlja broj cifara iza deci-
malne tačke, a ispred znakovnih nizova predstavlja maksimalni broj
karaktera koji će biti ispisani.
Izvor:https://svetinformatikeiprogramiranja.files.wordpress.com/2013/09/programski
jezikc.ppt
22
6. Kontrola toka programa
Izrazom nazivamo svaku kombinaciju operatora i operanada koju jezik dozvoljava.
Operatori mogu biti konstante i varijable ili njihove kombinacije.
Primjeri izraza su: 7.2 , 2+13-4 , x=3*2, a*(b+c/d)%2, n++, x= ++n % 2 …
Složeni izrazi mogu biti kombinacija više manjih izraza koje nazivamo podizraima.
Naredbe dijelimo na :
Izvor:https://svetinformatikeiprogramiranja.files.wordpress.com/2013/09/programski
jezikc.ppt
If-else naredba- je višestruka naredba koja ima samo dvije grane ( kada je
uslov ispunjen i kada uslov nije ispunjen ).
23
Slika 6. Dijagram If- else naredba
Izvor:https://svetinformatikeiprogramiranja.files.wordpress.com/2013/09/programski
jezikc.ppt
Izvor:https://svetinformatikeiprogramiranja.files.wordpress.com/2013/09/programski
jezikc.ppt
25
main()
{
int tekuci;
printf(“unesite redni br. tekuceg mjeseca\n”);
scanf(“%d”,&tekuci);
switch( tekuci )
{
case 1: printf(“januar\n”);
case 2: printf(“februar\n”);
case 3: printf(“mart\n”);
case 4: printf{“april\n”);
case 5: printf(“maj\n”);
case 6: printf(“jun\n”);
case 7: printf{“jul\n”);
case 8: printf(“avgust\n”);
case 9: printf(“septembar\n”);
case 10: printf(“oktobar\n”);
case 11: printf(“novembar\n”);
case 12: printf(“decembar”);
}
system(“pause”);
return 0;
}
Izvor:https://svetinformatikeiprogramiranja.files.wordpress.com/2013/09/programski
jezikc.ppt
Primjer naredbe break : #include <stdio.h.>
#include <stdlib.h.>
int main()
{
int i ;
for (i=1,i<= 500. i++);
if(i%3= =0&&.%4= =0%%,%5= =0&&,%7= =0);
{
printf("%d\n",i);
break;
}
system("pause");
return 0;
}
26
6.1.1. For petlja
For petlja se obično koristi kada u progamu treba realizovati takozvanu brojačku
petlju. Brojačka petlja podrazumijeva da je unaprijed (prije ulaska u petlju) poznat
(može da se izračuna) broj ponavljanja tijela petlje.
Izvor:https://svetinformatikeiprogramiranja.files.wordpress.com/2013/09/programski
jezikc.ppt
Format for-naredbe u C-u je: for (< izraz1 >; < izraz2 >; < izraz3 >)
< naredba >
< izraz1> - vrši inicijalizaciju promjenljivih koje se koriste u petlji(što može da bude
postavljanje početne vrijednosti brojača petlje ),
< izraz2> - predstavlja uslov na osnovu koga se odlučuje da li će tijelo petlje još
izvršavati ili se izvršavanje petlje prekida – petlja se izvršava dok vrijednost ovog
izraza različita od nule (uslov za izvršavanje tijela petlje može da bude dok brojač
petlje ne postigne svoju gornju granicu ),
< izraz3 > – definiše promjenu vrijednosti promjenljivih koje se koriste u petlji.
27
Navedena promjena se vrši nakon svake iteracije ( tu se može definisati kako se
mijenja vrijednost brojača petlje nakon svake iteracije).
Bilo koji od izraza može biti izostavljen, ali se znak ‘;’ mora pisati.
Primjer for petlje: #include < stdio.h >
main()
{
int i,n,k,S;
printf(“unesite koliko brojeva treba sumirati\n”);
scanf(“%d”,&n);
for ( i=0, S=0; i<n; i++ );
{
printf(“unesite sljedeci broj\n”);
scanf(“%d”,&k);
S+=k;
}
printf(“suma unesenih brojeva je %d\n”,S);
system(“pause”);
return 0;
}
While petlja omogućava ponavljanje naredbe programa dok je definisan uslov zado-
voljen (tj. dok je vrijednost izraza različita od nule).
Ima iste osobine kao i for petlja i sve što se može uraditi preko for petlje može se i
preko while i obrnuto.
28
Slika 10. Dijagram While petlje
Izvor:https://svetinformatikeiprogramiranja.files.wordpress.com/2013/09/programski
jezikc.ppt
Do-while petlja je jako slična while-petlji. Jedina razlika je u tome što se uslov za
ponavljanje petlje u kodu nalazi iza njenog tijela tako da se naredba, koja predstavlja
tijelo petlje, mora izvršiti bar jednom.
29
Slika 11. Dijagram Do while petlje
Izvor:https://svetinformatikeiprogramiranja.files.wordpress.com/2013/09/programski
jezikc.ppt
30
7. Polja u programskom jeziku C
Opšti oblik izraza za pristup elementu polja je: < ime_polja >[< izraz >]
Primjer:
… a[5] …
… b[i] …
… x[5*j+7]
14
Dennis M. Ritchie Brian W. Kernighan”The C Programming Language” , Prentice Hall New Jersy
1983
31
8. Funkcije u programskom jeziku C
Funkcija je programska cjelina koja uzima neke ulazne podatke, izvršava određen niz
naredbi i vrača rezultat svog izvršavanja pozivnom programu.15
Svaka funkcija treba biti osmišljena tako da obavlja jednu dobro definiranu zadaču
te da korisnik funkcije ne mora poznavati detalje njene implementacije da bi ju koris-
tio.
gdje je:
< ime_funkcije > - simboličko ime koje u isto vrijeme predstavlja i adresu funkcije
< tip_rezultata > – određuje tip vrijednosti koju funkcija vraća. Ako je tip rezultata
(tip funkcije) izostavljen, prevodilac će povratnu vrijednost tretirati kao int.
Deklaracija funkcije omogućava poziv funkcije prije njenog definisanja i još se zove
prototip funkcije.Smisao deklaracije je da se saopšti prevodiocu da takva funkcija
postoji i da će njena definicija biti navedena negdje kasnije u izvornom kodu.
15
Despalatović Lj.” Programkse metode i apstrakcije” , Sveučilište u Splitu , Split
33
Ukoliko programer nije definisao, niti deklarisao funkciju prije njenog poziva,
C prevodilac je implicitno deklariše i dodeljuje joj tip int.
Tijelo funkcije main sadrži: definicije promjenljivih , konstanti i tipova koji se kor-
iste lokalno (unutar funkcije main) i skup izvršnih naredbi (naredbi kojima se vrši
obrada podataka).
Deklaracijom funkcije main int main (void) se uvodi ime funkcije , broj i tip
argumenata koje uzima i tip povratne vrijednosti.
1. elementarne naredbe
2. strukturne naredbe
Primjer :
a+=b*5;
Max(a,b);
i++;
9. Zaključak
34
Literatura
Knjige:
Tekstovi sa interneta:
1. https://sh.wikipedia.org/wiki/C_(programski_jezik)
2. https://hr.wikipedia.org/wiki/C_(programski_jezik)
3. https://www.mojwebdizajn.net/c-rijeseni-zadatci/c-programiranje-rijeseni-
zadatci-1.aspx
4. http://nasport.pmf.ni.ac.rs/materijali/2113/Skripta%20iz%20C-a.pdf
5. http://www.gimnazija-agmatosa-
dj.skole.hr/dokumenti?dm_document_id=332&dm_dnl=1
6. http://www.informatika.edu.rs/kursevi/c-programski-jezik/
7. http://www.gimnazijaub.rs/index.php/component/k2/item/download/52_2275
afcac46686ba8cca66ba4b2c6251
8. http://www.unidu.hr/datoteke/711izb/01-Uvod.pdf
9. http://www.pef.uns.ac.rs/index.php/oglasi/category/34-izborni-blok-ii-c-
jezik?download=208:programski-jezik-c
10. https://web.math.pmf.unizg.hr/~singer/Prog_Add/c.pdf
11. http://www.mikroknjiga.rs/Knjige/CALG/01_CALG.pdf
12. http://www.znanje.org/knjige/computer/c/v/
35