Friday, May 29, 2015

Uvod u C programski jezik koji vam daje temelje za uspeh u svetu programiranja

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 - Programski jezik )

Programski jezik C se uglavnom uči sa Linux platforme, mada ga možete učiti i iz nekog  IDE-a za Windows operativni sistem 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 Ubuntu 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. Ako uzmete u obzir da C programi su u suštini mali, verovatno ne nameravate da kucate hiljade linija koda; zato je moja preporuka da se koristi neki od tekstualnih editora kao npr. 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 operativni sistem; to je isključivo vaš izbor. Ovde smo da naučimo najosnovnije kodiranje u C programskom jeziku, koje vi možete posle nadograditi kodirajući neke vaše male programe. Osim naravno ako ne radite neke ozbiljne stvari sa mikroprocesorima gde se C programski jezik ozbiljno koristi. 

Šta mi još treba pored tekstualnog editora?   


Ukoliko koristite Windows, pokrenite Command Prompt  i ukucajte:

C:\>gcc --version

Pritisnite Enter; i treba da dobijete nešto slično da potvrdite da imate instaliran kompajler za  C progarmski jezik:

gcc (MinGW-W64 x86_64-msvcrt-posix-seh, built by Brecht Sanders) 12.2.0
Copyright (C) 2022 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.

Ukoliko nemate instaliran kompajler; možda bi bilo najbolje da prvo instalirate neki IDE kao što je Code::Blocks. Taj IDE najviše koriste C programeri. Ko zna možda će baš taj IDE biti i vaš izbor za kodiranje u C programskom jeziku. Pogledajte kako se instalira u video-u sa C kompajlerom; pa posle ponovo proverite da li imate instaliran komplajler za C programski jezik. 


( Windows - 14. How to install Code Blocks ? )

Što se tiče Linux-a; po defaultu mnoge Linux distribucije već imaju instaliran  C i C++ kompajler. Ali ako ste zainteresovani za Code::Blocks; pogledajte kako se instalira na Linux operativnom sistemu, tačnije na Ubuntu:


( Linux - 15. How to install Code Blocks ? )

Ukoliko ste završili sa instalacijama; pokrenite 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. Vaš kompajliran program će raditi na svim distribucijama Linux-a, možda vam zatreba neka biblioteka file ukoliko radite na nekoj distribuciji Linux-au 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 terminalu:

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


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

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 sledeće:

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 sledeće:

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 )


Ali šta ako koristim Windows operativni sistem i hoću da koristim Vim na Windows operativnom sistemu? U tom slučaju možete da instalirate grafički gVIM tekstualni editor. Pogledajte video:


( Windows - 15. How to install gVIM ? )


















No comments:

Post a Comment