C (чита се це) је структуирани (императивни, процедурални) програмски језик опште намене развијан од стране његовог аутора Дениса Ричија између 1969. године и 1973. године у AT&T Bell лабораторијама. Структуирано програмирање је данас застарело (обично су виши језици објектно-оријентисани) али ни њима нису непознате структуре. Развој C језика је почео у жељи да се направи програмски језик у ком ће бити писан Јуникс оперативни систем. У то време су оперативни системи писани у асемблеру што је била честа пракса тог времена. Проблем са асемблерским језицима јесте

  • лоша читљивост кода
  • један асемблер за један процесор (код писан у асемблеру за једну процесорску архитектуру неће бити компатибилан са осталим проц. архитектурама)

Сем што је помогао у развоју Јуникс оперативних система он је стекао огромну популарност тако да га данас користе многи програмери, доста језика је покупило његове особине укључујући:

  • C#
  • D
  • Go
  • Rust
  • Java
  • JavaScript
  • Limbo
  • LPC
  • Perl
  • PHP
  • Python
  • C++
  • ...

Верује се да његово време тек долази и да ће имати масовну примену и у роботици као програмски језик за рад са микроконтролерима што ће у огромној мери смањити коришћење асемблера за такве послове.

Покретање C кода уреди

Покретање C изворног кода се може вршити помоћу

  • mingw32 компајлера
  • gcc компајлера

Компајлер преводи изворни код написан у неком вишем програмском језику у машински код који је разумљив рачунару. Процес превођења у машински код назива се компајлирање.

То би значило да код можете написати у Бележници или неком другом уређивачу текста ког имате на рачунару и из Командне табле или Терминала покренути тај код ако имате инсталиран компајлер. Ово може бити врло мукотрпан процес па се зато писање кода олакшава увођењем IDE (eng. Integrated Development Environment - Интегрисано развојно окружење) које уочава грешке, омогућава писање изворног кода и његово превођење директно у неколико кликова мишем. Након што код буде преведен он се може покренути ако не постоје грешке у коду.

Структура C језика уреди

На почетку сам напоменуо да је C програмски језик структуиран. Сада ћете на примеру видети како изгледа код писан у овом програмском језику. Код који ће бити приказан у примеру се може покретати без проблема на већини модерних компајлера, али постоје и одступања (C89 и C99).


#include<stdio.h> // говоримо програму да ћемо користити библиотеку stdio.h 

main() // main метода је она коју програм прву извршава и она мора постојати у изворном коду
{ 
/*

Витичасте заграде ( {} ) користимо да дефинишемо простор методе
// - иза ове две црте се налазе коментар у једној линији. Њега програм не обрађује

*/
   printf("Zdravo svete!"); // функцијом printf говоримо да желимо да програм испише нешто на екрану. То 'нешто' у овом случају је текст.
}

Типови података у C програмском језику уреди

Тип податка Дужина (број битова) Опсег
1 int 16 -32768 до 32767
2 float 32 -3.4·10-38 до 3.4·1038
3 double 64 -1.7·10-308 до 1.7·10308
4 char 8 0 до 255
5 void 0 без вредности

На таблици видимо да постоји више типова података. То су:

  • int (integer) - целобројни податак
  • float - реални податак (реални број)
  • double - реални податак двоструке тачности
  • char (character) - карактер, једно слово, број , знак
  • void - податак који не задржава вредност

Покушајмо сада преко кода видети како то функционише.

#include<stdio.h>

main()
{
   int prviBroj = 1;
   printf("Prvi broj je ");
   printf(prviBroj);
}
#include<stdio.h>

main()
{
   double drugiBroj = 5.3;
   printf("Drugi broj je ");
   printf(drugiBroj);
}