петак, 29. мај 2015.

Uvod u C programski jezik

C programski jezik je proceduralni jezik opšte namene. Nije uopšte težak kako se govori, jer je on samo skup pravilno napisanih instrukcija koju će kompjuter izvršiti. Nastao je u Bell laboratorijama u New Jersey-u. Njegov tvorac +Dennis Ritchie  ga je prvobitno dizajnirao i implementirao za operativni sistem UNIX na računaru DEC PDP-11, s ciljem da zameni asemblerski jezik pri rešavanju sistemskog programiranja. I pored toga što se danas on retko koristi, njegovo proširenje i naslednik je C++ programski jezik jer za razliku od programskog jezika C podržava objektno orjentisano programiranje. Ipak pre nego što zakoračite u C++ programski jezik, smatram da treba da prvo naučite C programski jezik. On je u potpunosti prihvaćen od C++ programskog jezika, tako da će vam posle biti mnogo lakše da programirate u C++ -u.


( C - Programming )

Programski jezik C se uglavnom uči sa Linux platforme, mada ga možete učiti i iz nekog  IDE-a za Windows platformu ili čak možete koristiti i Microsoft Visual Studio, tako što će te file *.cpp u Solution-u preimenovati u *.c. Ja ću vam ga predstaviti iz UbuntuLinux distribucije, bitno je da je kod u suštini isti jer neki IDE-ovi imaju običaj da dodaju i svoj kod na vaš, pre kompajliranja. Zato je moja preporuka da se koristi VIM tekstualni editor i GCC kompajler. Inače vi možete koristiti i neki drugi tekstualni editor ako vam je tako lakše ili čak neki IDE za Linux platformu to je isključivo vaš izbor.    


Ukoliko koristite Windows, pokrenite vaš IDE za C programiranje i ukucajte C kod ispisan u tekstu. Pokrenite ga preko  IDE-a i prepustite  IDE kompajleru kompajliranje. Ukoliko koristite bilo koju Linux distribuciju, po defaultu bi trebali da već imate instaliran GCC kompajler. Zato prvo proverite tako što će te pokrenuti Terminal i ukucati komandu:

hacker@~$ gcc --version

gcc (Ubuntu 4.8.2-19ubuntu1) 4.8.2

Copyright (C) 2013 Free Software Foundation, Inc.

This is free software; see the source for copying conditions. There is NO

warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.


hacker@~$


Ukoliko ste dobili ovako nešto, to znači da je GCC instaliran.

Ukoliko nije instaliran, prvo instalirajte GCC, pogledajte ovdeGCC se može instalirati i za MS-DOS ili za Windows platformu osim ako ne koristite Intanium procesor. Vaš kompajliran program će raditi na svim distribucijama Linux-a, možda vam zatreba neka biblioteka file ukoliko radite na nekoj distribuciji Linux-a, u kojoj nije podržan GCC. Međutim da bi vaš program iz Linux-a, radio na Windows-u ili na Mac računaru, tada se koriste cross kompajleri.    

Vaš prvi program u C programskom jeziku.

Programerska tradicija je takva da prvi program u bilo kom programskom jeziku počnete sa „Hello World“ i to treba poštovati. To nije neki značajan program, ali uvek predstavlja kako se počinje sa kodiranjem i kako se prikazuju informacije korisniku. Kad učite neki programski jezik to vam je u suštini početak svih početaka.

Otvorite  Terminal i napravite direktorijum gde ćete smestiti vaš program.

hacker@~$ mkdir workspace

hacker@~$ cd workspace

hacker@~/workspace$ mkdir c

hacker@~/workspace$ cd c

hacker@~/workspace/c$


Naravno ovo možete uraditi i kraće:

hacker@~$ mkdir -p workspace/c

hacker@~$ cd workspace/c

hacker@~/workspace/c$


Sad kad smo u direktorijumu C, pokrenimo tekstualni editor VIM tako da nam odmah kreira i file hello.c.

hacker@~/workspace/c$ vim hello.c

Pritisnite i da pređete u --insert-- mode VIM editor-a, zatim otkucajte kod. Naravno moje ime i prezime zamenite vašim.

/* This is my first C program.

     Hello World! */

#include <stdio.h>

int main()

{

            printf("Hello World\n");

            printf("from Manuel Radovanovic\n");

            return 0;

}


Vaš kod će u VIM tekstualnom editor-u izgledati kao na slici:


( Hello World ispisan C kod u VIM editor-u ) 

Pritisnite ESC da izađete iz --insert-- moda, zatim otkucajte :wq. Komandom w ste naredili editor-u da snimi promene u file-u hello.c dok naredba q znači da izađete iz editor-a. Otkucajte u Terminal-u:

hacker@~/workspace/c$ cat hello.c

Ispisaće vam se sadržaj tekstualnog file-a hello.c na Terminal-u.

hacker@~/workspace/c$ cat hello.c

/* This is my first C program.

Hello World! */

#include <stdio.h>

int main()

{

            printf("Hello World\n");

            printf("from Manuel Radovanovic\n");

            return 0;

}


hacker@~/workspace/c$

Programski jezik C je Case-Sensitive, što znači da razlikuje mala i velika slova. Kao što vidite u C programskom jeziku se komentari pišu sa /* I završavaju sa */. Svejedno koliko pišete komentara, svi će biti ignorisani od kompajlera prilikom prevođenja programa. Prva naredba posle komentara uključuje informacije o standardnoj biblioteci. Svaki program mora da ima funkciju main() jer se od nje program izvršava. Telo svake funkcije se sastoji od vitičasti zagrada {}. Funkcija printf koju nazivamo bibliotekačka funkcija, nam služi za ispisivanje teksta i promenjivih. Znak \n označava prelazak u novi red.

Otkucajte u Terminal-u:

hacker@~/workspace/c$ gcc hello.c -o hello

hacker@~/workspace/c$


I upravo ste kompajlirali file hello.c i kompajliranom file-u ste dali ime hello. Otkucajte:

hacker@~/workspace/c$ ls -la

total 24

drwxrwxr-x 2 hacker hacker 4096 мај 29 03:51 .

drwxrwxr-x 3 hacker hacker 4096 мај 29 01:49 ..

-rwxrwxr-x 1 hacker hacker 8511 мај 29 03:51 hello

-rw-rw-r-- 1 hacker hacker 170 мај 29 03:49 hello.c


hacker@~/workspace/c$


Pogledajte kompajlirani binarni file hello. Binarni file-ovi se u Linux-u pokreću sa prefiksom ./
Otkucajte u Terminal-u:

hacker@~/workspace/c$ ./hello

Hello World

from Manuel Radovanovic


hacker@~/workspace/c$


I program se izvršio. Kako to sve izgleda možete pogledati i na video-u.




( C Tutorial - 1. Hello World video file )