Operator przypisania
Jak sama nazwa wskazuje operator ten odpowiedzialny jest za przypisanie wartości do zmiennej.
int x, y; x = 10; // Liczbę 10 przypisujemy zmiennej x y = x; //zmiennej y przypisujemy wartość x
Należy napomnieć, że wartości przypisywane są ze strony prawej do lewej.
Operatory matematyczne
W C++ możemy dodawać, odejmować, mnożyć, dzielić, itp.
int a, b; a = 5 ; b = a + 10; // + - operator dodawania b = a - 2; // - - operator odejmowani b = a / 5; // / - operator dzielenia b = a * 5;// * - operator mnożenia b = a % 5 // % - operator dzielenia modulo ( reszta z dzielenia określona dla liczb całkowitych ) //w c++ występuję tzw. zapis skrócony a = a + 5; // jest równe : a += 5; a = a - 5; //jest równe: a -= 5; a = a * 5; // jest równe a *= 5 ; a = a / 5; // jest równe: a /= 5;
Inkrementacja i dekrementacja
Dla wygody programisty c plus plus przygotował dla nas tytułową inkrementację i dekrementację, które to mogą być post (po) lub pre (przed). Dzięki temu nasz kod staje się czytelniejszy i wolny od niepotrzebnych linijek. Zastosowanie dekrementacji i inkremetacji jest bardzo proste.
int a = 500; a++; //do 500 dodajemy 1 i otrzymujemy 501 (metoda post-inkrementacji) a-- ;// od 500 odejmujemy 1 i otrzymujemy 499 (metoda post-dekrementacji ++a //do 500 dodajemy 1 i otrzymujemy 501 (metoda pre-inkrementacji) --a ;// od 500 odejmujemy 1 i otrzymujemy 499 (metoda pre-dekrementacji)
Operatory logiczne
Odpowiadają matematycznej koniunkcji (i), alternatywie(lub) i negacji. Zróbmy więc małą powtórkę z liceum i zastanówmy się kiedy koniunkcja jest prawdziwa?
Pamiętasz ? (:
Koniunkcja zwraca prawdziwą wartość tylko wtedy kiedy obydwa argumenty są prawdziwe.
bool x, y, z, a x = false; y = true; a = true; z = x && y; // w tym wypadku zmienna "z" przyjmie wartość logiczną false, ponieważ jeden z argumentów był nieprawdziwy. z = a && y; // "z" przyjmie wartość logiczną true.
Teraz czas na alternatywę. Alternatywa przyjmuje wartość logiczną kiedy chociaż jeden z argumentów jest prawdziwy.
bool x, y, z, a; x = true; y = false; a = false; z = a || x; //zwróci wartość true z = a || y; //zwróci wartość false
Negacja natomiast neguje wartość logiczną. Operator ! zamienia wartość true na false a false na true.
bool x, y, z; x = true; y = false; z = !x; //zwróci false z = !y; //zwróci true
Operatory bitowe
Operatory te pozwalają nam na tzw. przesunięcia bitowe, polega ono na tym, że w systemie dwójkowym przesuwamy wszystkie cyfry binarne w lewo lub prawo o n pozycji, a bity, które nie mieszczą się są usuwane. W programowaniu takie przesunięcia wykorzystywane są dzielenia lub mnożenia przez 2.
short x, y ; x = 5; y = 6; x << 1; // operator << przesuwa bity w lewo x >> 1; // operator >> przesuwa bity w prawo ~x; // operator ~ neguje ( zamienia w zapisie bitowym 0 na 1 a 1 na 0 ) x & y // operator & oznacza koniunkcję bitow x | y // operator | oznacza alternatywę bitową x ^ y // operator ^ oznacza alternatywę rozłączną.
Podsumowanie
Operatory w językach programowania są bardzo ważne i warto poświęcić kilka godzin(dni) na ich przyswojenie.