Оператори језика

Оператори извршавају операције над операндима што резултира неком вредношћу, ознаком или догађајем. Из тога следи да су операнди ентитети над којима оператори извршавају операције. На пример, у изразу \(2+3\), оператор је знак операције \(+\), док су операнди бројеви \(2\) и \(3\), што резултира вредношћу \(5\).

Оператори се могу примењивати над једним, два или три операнда. Унарни оператори примењују се само над једним операндом и могу бити префиксни када се наводе пре операнда, или постфиксни када се наводе после операнда. Бинарни оператори примењују се над два операнда и обично се налазе између њих. Постоји и један тернарни оператор који се примењује на три операнда.

У програмском језику C, слично као и у математици, операторе можеш представити унапред дефинисаним карактерима датим у табели у прилогу. Оператори се могу поделити по више критеријума, а најједноставније, према типу операције, на:

  • операторе једноставне и сложених додела,

  • аритметичке операторе,

  • операторе инкрементирања и декрементирања,

  • релацијске операторе*,

  • логичке операторе*,

  • битске операторе и

  • остале операторе.

* У овом поглављу нећеш учити о релацијским и логичким операторима, јер њихова примена долази до изражаја тек у програмима разгранате и цикличне структуре.

Израз се може дефинисати као део кода који резултира неком вредношћу. Изрази се граде од операнада и оператора, чији редослед извршавања зависи од коришћења заграда, система приоритета оператора и типова података, слично као у математици.

Наредба представља основну јединицу обраде у рачунарском програму која означава акцију која треба бити извршена. Наредбе се могу поделити на декларативне и извршне.

Декларативне наредбе писаћеш када желиш да дефинишеш неке податке које ћеш користити у програму, као у претходном поглављу.

Извршне наредбе користићеш за задавање израчунавања или управљање током извршавања програма. Оне се могу поделити на просте, сложене и управљачке. Просте извршне наредбе користићеш за задавање просте обраде података, односно, обраде података која се не може разложити на мање делове. С друге стране, сложене извршне наредбе представљају групу наредби које можеш разложити на просте. Груписање простих у сложене наредбе вршићеш навођењем витичастих заграда. Управљачке извршне наредбе користићеш за управљање током извршавања програма, а не за обраду података.

Како би могао исправно да пишеш изразе и наребе и добијеш тражене резултате, важно је да знаш којим редоследом оператори извршавају операције над операндима. Првенство (приоритет) оператора одређује редослед примене оператора у изразима и дефинисан је системом приоритета оператора. Систем приоритета оператора у програмском језику C је прецизно дефинисан и дат у поменутој табели у прилогу.

Асоцијативност оператора је особина која одређује како се оператори групишу у одсуству заграда, а приоритет оператора одређује редослед њиховог извршавања. У програмском језику C oператори могу бити лево-у-десно асоцијативни (што значи да се операције групишу са леве стране) или десно-у-лево асоцијативни (што значи да се операције групишу са десне стране).