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));}

.