Operatory języka C to symbole, które służą do wykonywania manipulacji matematycznych lub logicznych. Język programowania C jest bogaty w operatory wbudowane. Operatory biorą udział w programie do manipulowania danymi i zmiennymi oraz stanowią część wyrażeń matematycznych lub logicznych.
Typy operatorów w języku C
- Operatory arytmetyczne
 - Operatory relacyjne
 - Operatory logiczne
 - Operatory przypisania
 - Operatory przyrostu i dekrementu
 - Operatory warunkowe Operator
 - Bitwise Operators
 - Operatory specjalne
 
Operatory arytmetyczne
Operatory arytmetyczne są używane do wykonywania obliczeń matematycznych, takich jak dodawanie (+), odejmowanie (-), mnożenie (*), dzielenie (/) i modulus (%).
| Operator | Opis | 
|---|---|
| + | Dodawanie | 
| -. | Odejmowanie | 
| * | Mnożenie | 
| / | Dzielenie | 
| % | Modulus | 
C Program do dodawania dwóch liczb
#include <stdio.h>void main(){ int i=3,j=7,k; /* Variables Defining and Assign values */ k=i+j; printf("sum of two numbers is %d\n", k); }

Operatory potęgowania i dekrementacji
Operatory potęgowania i dekrementacji są użytecznymi operatorami używanymi na ogół do minimalizowania obliczeń, tj.np. ++x i x++ oznaczają x=x+1 lub -x i x- oznaczają x=x-1. Ale jest mała różnica między ++ lub — napisanymi przed lub po operandzie. Stosując preinkrementację najpierw dodajemy jeden do operandu, a następnie wynik jest przypisywany do zmiennej po lewej stronie, podczas gdy postinkrementacja najpierw przypisuje wartość do zmiennej po lewej stronie, a następnie inkrementuje operand.
| Operator | Opis | 
|---|---|
| ++ | Increment | 
| — | Decrement | 
#include <stdio.h>//stdio.h is a header file used for input.output purpose.void main(){ //set a and b both equal to 5. int a=5, b=5; //Print them and decrementing each time. //Use postfix mode for a and prefix mode for b. printf("\n%d %d",a--,--b); printf("\n%d %d",a--,--b); printf("\n%d %d",a--,--b); printf("\n%d %d",a--,--b); printf("\n%d %d",a--,--b);}
5 44 33 22 11 0
Operatory relacyjne
Operatory relacyjne są używane do porównywania dwóch wielkości lub wartości.
| Operator | Opis | 
|---|---|
| == | Jest równy | 
| != | Nie jest równy | 
| > | Większy niż | 
| < | Mniejszy niż | 
| >= | Większy lub równy | 
| <= | Less or equal to | 
Operatory logiczne
C udostępnia trzy operatory logiczne, gdy testujemy więcej niż jeden warunek w celu podjęcia decyzji. Są to: && (oznaczający logiczne AND), || (oznaczający logiczne OR) oraz ! (czyli logiczne NOT).
| Operator | Opis | 
|---|---|
| && | Operator AND. Wykonuje logiczną koniunkcję dwóch wyrażeń. (jeśli oba wyrażenia są prawdziwe, wynikiem jest True. Jeśli którekolwiek z wyrażeń jest obliczane jako False, wynik jest False) | 
| || | Or operator. Wykonuje logiczną dysjunkcję na dwóch wyrażeniach. (jeśli jedno lub oba wyrażenia są oceniane na True, wynikiem jest True) | 
| ! | Not operator. Wykonuje negację logiczną na wyrażeniu. | 
Operatory bitowe
C zapewnia specjalny operator do operacji bitowych między dwiema zmiennymi.
| Operator | Opis | 
|---|---|
| < | Operator binarnego przesunięcia w lewo | 
| >> | operator binarnego przesunięcia w prawo | 
| ~ | operator binarnego dopełnienia jedynek | 
| & | Binarny operator AND | 
| ^ | Binarny operator XOR | 
| | | Binarny operator OR | 
Operatory przypisania
Operatory przypisania stosowane do przypisania wyniku wyrażenia do zmiennej. C posiada zbiór skrótowych operatorów przypisania.
| Operator | Opis | 
|---|---|
| = | Assign | 
| += | Increments then assign | 
| -.= | Dekrementy wtedy assign | 
| *= | Mnożenie wtedy assign | 
| /= | Podzielenie wtedy assign | 
| %= | Modulus następnie przypisz | 
| <<= | Przesunięcie w lewo i przypisz | 
| >>= | Przesunięcie w prawo i przypisz | 
| &= | Bitwise AND przypisz | 
| ^= | Bitwise exclusive OR i przypisz | 
| |= | Bitwise inclusive OR i assign | 
Operator warunkowy
C oferuje operator trójskładnikowy, którym jest operator warunkowy (?: w połączeniu) do konstruowania wyrażeń warunkowych.
| Operator | Opis | 
|---|---|
| ? : | Wyrażenie warunkowe | 
Operatory specjalne
C obsługuje niektóre operatory specjalne
| Operator | Opis | 
|---|---|
| sizeof() | Zwraca rozmiar lokalizacji pamięci. | 
| & | Zwraca adres lokalizacji pamięci. | 
| * | Wskaźnik do zmiennej. | 
Program demonstrujący użycie operatora sizeof
#include <stdio.h>void main(){ int i=10; /* Variables Defining and Assign values */ printf("integer: %d\n", sizeof(i));}

.