C (programski jezik) – razlika između verzija

Uklonjeni sadržaj Dodani sadržaj
m robot Mijenja: tr:C (programlama dili)
dodatak s bosanske Wikipedije
Red 1:
{{Infokutija programski jezik
Programski jezik '''C''' spada u proceduralne programske jezike koji je razvijen u ranim 70-tim godinama 20. stoljeća. Glavni tvorci ovog programskog jezika su [[Ken Thompson]] i [[Dennis Ritchie]], oni su stvorili ovaj programski jezik za riješavanje praktičnih problema kodiranja sistemskih programa za [[operacijski sustav]] [[UNIX]], koji je praktički napisan u C-u. Tokom 1980-tih, [[Bjarne Stroustrup]] skupa sa drugim istraživačima u Bell Labs proširuje jezik C dodavajući sposobnosti objektno orijentiranog programiranja, naziv ovog novog proširenog programskog jezika C je [[C Plus Plus|C++]].
|ime = C
|logo =
|paradigm = Strukturalno Programiranje
|godina = između 1969 i 1973-će
|dizajner = [[Dennis Ritchie]] i [[Brian Kernighan]], [[AT&T Bell Labs]]
|typing = statični, slabi
|implementacije = razne
|dijalekti = mnogi
|utjecali = [[B programski jezik]]
|utjecao_na = [[C++]], [[Java programski jezik|Javu]], [[C#]]
}}
'''C programski jezik''' spada u proceduralne programske jezike koji je razvijen u ranim 70-im godinama 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]]. Dennis Ritchie je stvorio ovaj programski jezik za rješavanje praktičnih problema kodiranja sistemskih programa i jezgre [[operativni sistem|operativnog sistema]] [[UNIX]], koji je praktički u cijelosti napisan u '''C'''-u.
 
Programski jezik '''C''' dosta se mijenjao tokom godina te je u više navrata neformalno i formalno standardiziran. Prva važnija verzija poznata je pod nazivom "K&R C", što je engl. kratica prezimena dvaju autora najpoznatijeg C priručnika "The C Programming Language", a to su [[Brian Kernighan]] i Dennis Ritchie. Prvo izdanje te vrlo sažeto i precizno pisane knjige koje datira iz 1978. godine ujedno je de facto standardiziralo jezik u 70-ima. Drugo izdanje iz 1988. godine opisuje "ANSI C", standard kojeg je 1983. godine definirao američki nacionalni institut za standardizaciju, a koji je i danas najbolje podržan. Aktualni ISO/IEC standard skraćeno poznat kao "C99" podržava u cijelosti samo jedan manji dio komercijalnih proizvođača softvera.
== Povijest razvoja i inačice ==
 
Kao jedan od najvažnijih jezika u historiji komercijalne računarske industrije, '''C''' je do danas ostao jedini programski jezik prilagođen za sve računarske platforme, od malih sistema pa do mrežnih superračunara. Programi napisani u njemu vrlo su bliski načinu rada hardvera te u načelu zahtijevaju od programera dobro razumijevanje rada procesora, memorije, ulazno-izlaznih sklopova itd. No, rad s registrima procesora i adresiranje memorije apstrahirani su pomoću koncepta varijabli i pokazivača što uz eksplicitne kontrolne strukture i funkcije znatno olakšava programiranje u odnosu na izravno programiranje u masinskim jezicima.
 
Tokom 1980-ih, [[Bjarne Stroustrup]] zajedno s drugim istraživačima u Bell Labs proširuje '''C''' dodavajući sposobnosti objektno orijentiranog programiranja, a naziv ovog novog programskog jezika je [[C Plus Plus|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. Efikasno i sigurno programiranje u '''C'''-u vrlo je zahtjevna vještina koja traži višegodišnje iskustvo pa je stoga '''C''' jezik koji se ne preporučuje početnicima, posebice ako im programiranje nije primarni posao.
 
Mnogobrojni problemi vezani prije svega za upravljanje memorijom koje programer mora sam eksplicitno kodirati razlog su da je danas većina novih korisničkih aplikacija napisana u nekom modernijem jeziku koji ima ugrađeno automatsko upravljanje memorijom (engl. garbage collection), ne dopušta izravan rad s memorijom pomoću pokazivača te ima podršku za upravljanje kodom odnosno njegovom okolinom za vrijeme njegova izvođenja. Danas se relativno rijetko ukazuje potreba za pisanjem novih korisničkih aplikacija izravno u '''C'''-u, pa čak i u vrlo malim sistemima kao što su primjerice mobilni telefoni. Glavno područje njegove upotrebe su sistemski programi na strani poslužitelja (engl. servers), programi prevoditelji (engl. compilers) i jezgre operativnih sistema (engl. operating system kernels), gdje je potreba za najvećom mogućom brzinom izvođenja, efikasnom kontrolom resursa i izravnom kontrolom hardvera od primarne važnosti.
 
 
== PovijestHistorija razvoja i inačice ==
Prvobitni razvoj '''C''' programskog jezika započinje izmedju 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'''.
 
== Standardizacija ==
Svaki program napisan u C-u sadrži sledeće elemente:
Preprocesorski dio koji uključuje određene ranije utvrđene procedure i skup definicija postupaka kao što su:
 
* '''stdio.h''' - Mali fajl unutar kompajlera koji definiše osnove ulaza i izlaza.
* '''Definisanje varijabli''' -Utvrđivanje polja definisanosti svih varijabli koje se pojavljuju u određenoj funkciji ('''int''' cjelobrojni, '''float''' sa pokretnim zarezom -decimalni, te single, double, long, string, char i void) ovo je obavezno zbog toga što C program ima tu osobinu da za svaku varijablu unaprijed rezerviše određeni memorijski prostor (1, 2, 4, 8 bajta)
 
* '''Glavna funkcija main''' - Mora postojati u svakom C programu i često se definiše kao '''void''' što znači da ne vraća ništa tj. podaci ne idu u druge funkcije i podfunkcije.
* '''Ostale funkcije''' - Moraju se definisati po vrsti ulaznih i izlaznih varijabli i količini memorijskog prostora kojeg one zauzimaju. Obično se pozivaju iz funkcije main odakle i preuzimaju podatke (jedan ili više varijabli) i tu ih nakon obrade i vraćaju (samo jedna varijabla), što znači da svaka funkcija ima jedan ili više ulaza i samo jedan izlaz.
 
== Programski primjer ==
 
<pre>
== Vanjske poveznice ==
#include <stdio.h>
 
int main(void) {
int a,b,c;
scanf("%d %d",&a,&b);
c=a+b;
printf("%d\n",c);
return 0;
}
</pre>
 
 
{{Programski jezici}}