Programski jezik C je jedan od velikog broja programskih jezika koji su u upotrebi i ujedno je jedan od najstarijih. Kreirao ga je je sedamdesetih godina prošlog veka Dennis Ritchie, dok je radio u Bell Laboratories kao jezik za programiranje sistemskog softvera. Zbog toga on omogućava neposredni pristup objektima kojima manipulišu procesori računara: bit pozicijama (bitovima), bajtovima, mašinskim rečima, registrima i adresama.

Međutim, sem toga programski jezik C je i programski jezik opšte namene, tj. može da se koristi za programiranje bilo čega, od kodiranja drajvera, delova operativnog sistema (npr. jezgro Linux operativnog sistema je napisano u C-u), ali može da se koristi i za kreiranje složenih programa, kao što su obrada tekstova, naučno-tehničke primene, simulacije i drugo. Neki kažu i da je C jezik niskog nivoa, što znači da su programi pisani u njemu vrlo bliski načinu rada hardvera. Koristi se kada je ključna brzina izvođenja i/ili prenosivost (igre, mobilni uređaji,...)

Znači, kada kažemo da je programski jezik C jezik opšte namene, to znači da se u njemu može napraviti apsolutno sve (operativni sistemi, namenski programi, upravljački drajveri, igre, aplikacije za mobilne telefone, ...)

Zbog čega ima ime C? Jer je pre njega bio B!

Pod uticajem C-a razvijeni su brojni drugi programski jezici (C++, C#, Perl, Phyton, Java, JavaScript,...). Mnogi od tih jezika su nasledili njegovu sintaksu.

Za jezik C usvojeni su zvanični standardi:

  • počev od standarda ANSI X3.159-1989 Američkog nacionalnog instituta za standarde (poznat kao C89 ili ANSI C),
  • zatim standard ISO/IEC 9899:1990 Međunarodne organizacije za standardizaciju (poznat kao C90).

Jezik C se tokom vremena razvijao:

  • C95 - ISO/IEC 9899:1990/AMD1:1995 iz 1995,

  • C99 - ISO/IEC 9899:1999 iz marta 2000,

  • C11 - ISO/IEC 9899:2011/Cor 1:2012

  • C18 - ISO/IEC 9899:2018, iz oktobra 2018


Azbuka jezika C

Azbuka programskog jezika predstavlja osnovni skup znakova od kojih se grade sve sintaksne kategorije (leksički simboli) jezika.


Azbuku jezika C čini skup znakova koji mogu da se koriste prilikom pisanja programa. Skup znakova obuhvata:

  • Mala i velika slova engleske abecede

  • Decimalne cifre

  • Specijalne znake

  • Neštampajuće znake

Znači, osnovni znakovi jezika C koje koristimo pri građenju programa su:

  • slova engleske abecede A, B, C, ... , X, Y, Z, a, b, c, ... , x, y, z

  • cifre 0, 1, 2, 3, 4, 5, 6, 7, 8, 9

  • specijalni znaci: + = _ - egg * & % # ! | . , ; : ' / ? { } ~ \ [ ] ^

  • neštampajući znaci: sp (space, razmak), ht (horizontalni tab), vt (vertikalni tab), nl (znak za novu liniju, new line) i ff (znak za novu stranicu)

    • Napomena: kao beli znaci tretiraju se i komentari u programu.


Leksički simboli jezika C

Kada programiramo, mi koristimo te osnovne znakove pomoću kojih gradimo osnovne elemente u programskom jeziku : osnovni elementi programskog jezika C su leksički simboli.

(Poređenje sa pisanjem reči i rečenica u pisanju sastava iz Srpskog jezika: Kada pišemo sastav, koristeći slova azbuke pišemo reči koje su u stvari osnovni elementi našeg sastava.)

Definicija 1: Leksema (leksički simbol) je znak ili niz od dva ili više znakova koji u programu ima određeno značenje.

Definicija 2: Leksički simboli – znaci ili nizovi znakova koji u programu imaju određeni smisao i čine osnovne gradivne elemente jezika C od kojih se formiraju pravilne instrukcije jezika

Radi bolje čitljivosti i razumevanja programa leksemi se razdvajaju proizvoljnim brojem belih znakova.

Leksički simboli se dele na:

  • Identifikatore (imena)
  • Konstante
  • Službene reči ( ključne ili rezervisane reči)
  • Operatore
  • Separatore (ograničavače).

Pomoću leksičkih simbola grade se ostale konstrukcije jezika C. To su:

  • naredbe

  • programi i

  • direktive


Naredbe su nizovi leksema. Dele se na deklarativne (opisne) i izvršne naredbe. Deklarativnim naredbama se opisuju podaci u programu, a izvršnim naredbama se zadaje izvođenje određenih radnji (operacija).

Programi su nizovi naredbi pomoću kojih se opisuju (zadaju) složene obrade podataka, odnosno rešava se neki određeni zadatak.

Direktive su naredbe pretprocesora, dela programskog prevodioca koji obrađuje tekst programa pre prevođenja. One nisu deo programa obrade, pa se zato ne ubrajaju u naredbe jezika C.

Last modified: Wednesday, 23 January 2019, 8:48 PM