Оператори језика¶
Оператори извршавају операције над операндима што резултира неком вредношћу, ознаком или догађајем. Из тога следи да су операнди ентитети над којима оператори извршавају операције. На пример, у изразу \(2+3\), оператор је знак операције \(+\), док су операнди бројеви \(2\) и \(3\), што резултира вредношћу \(5\).
Оператори се могу примењивати над једним, два или три операнда. Унарни оператори примењују се само над једним операндом и могу бити префиксни када се наводе пре операнда, или постфиксни када се наводе после операнда. Бинарни оператори примењују се над два операнда и обично се налазе између њих. Постоји и један тернарни оператор који се примењује на три операнда.
У програмском језику C, слично као и у математици, операторе можеш представити унапред дефинисаним карактерима датим у табели у прилогу. Оператори се могу поделити по више критеријума, а најједноставније, према типу операције, на:
операторе једноставне и сложених додела,
аритметичке операторе,
операторе инкрементирања и декрементирања,
релацијске операторе*,
логичке операторе*,
битске операторе и
остале операторе.
* У овом поглављу нећеш учити о релацијским и логичким операторима, јер њихова примена долази до изражаја тек у програмима разгранате и цикличне структуре.
Израз се може дефинисати као део кода који резултира неком вредношћу. Изрази се граде од операнада и оператора, чији редослед извршавања зависи од коришћења заграда, система приоритета оператора и типова података, слично као у математици.
Наредба представља основну јединицу обраде у рачунарском програму која означава акцију која треба бити извршена. Наредбе се могу поделити на декларативне и извршне.
Декларативне наредбе писаћеш када желиш да дефинишеш неке податке које ћеш користити у програму, као у претходном поглављу.
Извршне наредбе користићеш за задавање израчунавања или управљање током извршавања програма. Оне се могу поделити на просте, сложене и управљачке. Просте извршне наредбе користићеш за задавање просте обраде података, односно, обраде података која се не може разложити на мање делове. С друге стране, сложене извршне наредбе представљају групу наредби које можеш разложити на просте. Груписање простих у сложене наредбе вршићеш навођењем витичастих заграда. Управљачке извршне наредбе користићеш за управљање током извршавања програма, а не за обраду података.
Како би могао исправно да пишеш изразе и наребе и добијеш тражене резултате, важно је да знаш којим редоследом оператори извршавају операције над операндима. Првенство (приоритет) оператора одређује редослед примене оператора у изразима и дефинисан је системом приоритета оператора. Систем приоритета оператора у програмском језику C је прецизно дефинисан и дат у поменутој табели у прилогу.
Асоцијативност оператора је особина која одређује како се оператори групишу у одсуству заграда, а приоритет оператора одређује редослед њиховог извршавања. У програмском језику C oператори могу бити лево-у-десно асоцијативни (што значи да се операције групишу са леве стране) или десно-у-лево асоцијативни (што значи да се операције групишу са десне стране).