Prawo Murphy'ego: Nieważne jak dobrze wykonasz robotę, twój szef i tak będzie chciał byś ją poprawił.
Kurs C++ - Część IV. Operatory

Operatory arytmetyczne

Zaczniemy od operatora +. Dodaje on dwie wartości, które znajdują się po jego lewej i prawej stronie. Całe wyrażenie zastępowane jest wynikiem. Jeśli liczba znajduje się tylko po jego prawej stronie, to traktowany jest on jako dodatni znak liczby. Wyrażenia z operatorem + można łączyć kaskadowo. Przykłady:

   int liczba = 2+2; // dodanie dwóch liczb. Wynik = 4
   liczba = +7;      // liczba = 7
   liczba = 3+7+5;   //  wynik = 15

Podobnie działa operator -. Służy do odejmowania dwóch liczb. Jeśli liczba znajduje się tylko po jego prawej stronie, to jest traktowany jako znak ujemny liczby. Również można łączyć wyrażenia kaskadowo. Przykłady:

   liczba = 5-3;   // odjęcie dwóch liczb. Wynik = 2
   liczba = -8;    // liczba = -8
   liczba = 7-2-3; // wynik = 2

Do wykonywania mnożenia służy operator *, a do dzielenia jest operator /. Te operatory wymagają liczb po obu swoich stronach. Dodatkowo jest operator % (modulo), który zwraca resztę z dzielenia dwóch liczb całkowitych. Można je łączyć kaskadowo. Przykłady:

   liczba = 3*3;   // mnożenie, liczba = 9
   liczba = 8/4;   // dzielenie, liczba = 2
   liczba = 11%4;  // reszta z dzielenia, liczba = 3
   liczba = 8/2*2; // liczba = 8
   liczba = 8*2/2; // też liczba = 8

Zawsze trzeba pamiętać o kolejności wykonywania działań. Jeśli byś kiedykolwiek miał wątpliwość, który z operatorów zadziała pierwszy, po prostu zastosuj nawiasy. To co jest w nawiasie zawsze będzie wykonywane przed działaniami spoza nawiasów.

Istnieją też operatory do zmniejszania i zwiększania zmiennej o 1. Do zwiększania służy operator ++, a do zmniejszania operator --. Można je zastosować na dwa sposoby. Jeśli umieścimy operator przed zmienną, to najpierw zmieni on jej wartość, a dopiero potem ją zwróci. Jeśli umieścimy go za zmienną, to najpierw pokaże on zawartość, a dopiero potem ją zmieni. Przykładowy fragment kodu:

   int Liczba = 123;
   cout << "Liczba=" << liczba   << endl; // wyświetli 123
   cout << "Liczba=" << ++liczba << endl; // zwiększenie do 124 i wyświetli
   cout << "Liczba=" << liczba-- << endl; // wyświetli 124 i zmniejszenie do 123
   cout << "Liczba=" << liczba   << endl; // wyświetli 123

Operatory przypisania

Najprostszy to operator =. Przypisuje jakąś wartość znajdującą się po jego prawej stronie do zmiennej znajduje się po jego lewej stronie. Zmiennej, bo musi być możliwa zmiana tej wartości podczas przypisywania. Można łączyć kilka operatorów kaskadowo, ale trzeba pamiętać by dopiero ostatnia wartość była tą, którą przypisujemy. Przykłady:

   liczba=7;
   liczba = numer = 2;

Jeśli programowałeś w innych językach, to znane ci są instrukcje typu:

   liczba = liczba + 3;

Jest to zwiększenie zmiennej liczba o 3. W C++ można to zapisać prościej:

   liczba += 3;

To bardzo upraszcza i skraca zapis. W powyższym zapisie można stosować wszystkie operatory arytmetyczne i bitowe.

Operatory relacji

Służą do porównywania dwóch wartości. Operatory te zwracają wartości logiczne. Operator == zwraca prawdę tylko wtedy, gdy oba argumenty są sobie równe, a operator != tylko wtedy, gdy argumenty są różne. Operator > zwraca prawdę tylko wtedy, gdy lewy argument jest większy od prawego, a operator < tylko wtedy, gdy prawy jest większy od lewego. Operator >= zwraca prawdę tylko wtedy, gdy lewy argument jest nie mniejszy od prawego, a operator <= tylko wtedy, gdy lewy nie większy od lewego. Przykłady:

   cout << 4 == 2+2; // prawda (1)
   cout << 1 != 2;   // prawda (1)
   cout << 0 > 1;   // fałsz (0)

Operatory logiczne

Służą do porównywania wyrażeń logicznych. Operator && (i / AND) zwraca wartość logiczną prawda tylko wtedy, gdy oba argumenty mają wartość logiczną prawda. Operator || (lub / OR) zwróci prawdę, gdy chociaż jeden z argumentów ma wartość logiczną prawda. I na koniec operator ! (nie / NOT) zwraca prawda, gdy argument po jego prawej stronie ma wartość logiczną fałsz. Gdy ma wartość logiczną prawda, operator ten zwraca fałsz. Przykłady:

   cout << 0 && 1; // fałsz (0)
   cout << 1 || 0; // prawda (1)
   cout << !0;     // prawda (1)

Wartością logiczną może być każda liczba lub zmienna zawierajaca liczbę. Liczba równa 0 oznacza fałsz, każda liczba różna od 0 oznacza prawdę.

« wstecz   dalej »