
Na wstepie powiem ogólnie co to są operatory. Najogólniej rzecz biorąc są to polecenia, które wykonują jakieś czynności. Niestety to kolejna lekcja typu "muszę wykuć na pamięć", ale w dziale download można znaleźć małą ściągę. Żeby nie zanudzać przejdźmy do podziału operatorów.
Operatory możemy podzielić na arytmetyczne, przypisania, porównania, logiczne i bitowe. Zwykle operatory określamy jakimiś symbolami(np. + - || &&), ale mogą być także nazwami.
Poznajmy pierwszą grupę operatorów. Służą one do wykonywania podstawowych działań matematycznych, takich jak dodawanie, odejmowanie, mnożenie i dzielenie. Co ciekawe, tymi podstawowymi działaniami zajmuje się procesor, od tego jest, żeby coś liczyć. Można powiedzieć, że polecenia tych operatorów są bezpośrednio wykonywane przez procesor.
- operator dodawania +
Służy do dodawania wartości.
-operator odejmowania -
Służy do odejmowania wartości.
-operator mnożenia *
Służy do mnożenia wartości.
-operator dzielenia liczb /
Służy do dzielenia liczb. Jeżeli dzielimy liczby zmiennoprzecinkowe(ułamki), to wynik będzie także w ułamku(w przypadku nie wyjścia całości). Jeżeli dzielimy liczby całkowite to wynik będzie całościami w dzieleniu, bez uwzględnienia reszty.
-operator reszty z dzielenia %
Służy do uzyskiwania reszty z dzielenia dwóch liczb całkowitych.
Podczas stosowania wielu operatorów w jednym obliczeniu obowiązują matematyczne zasady kolejności działań(mnożenie i dzielenia najpierw, potem dodawanie i odejmowanie).
Arytmetyka w praktyce.
Aby działać na liczbach potrzebne nam liczby w programie, czyli zmienne liczbowe. Na razie stwórzmy sobie jedną.
Mamy zmienną liczbową typu int. Na niej możemy wykonywać działania. Spójrzmy jak stosować operatory arytmetyczne:
Program jest wyjaśniony w komentarzach.
Napiszmy sobie program, taki kalkulator, który podzieli nam liczby.
Na początku tworzymy 4 zmienne. Jeżeli zmienne są tego samego typu, to można deklarować je po przecinku, ale wszystkie należy zamknąć średnikiem. Tutaj używam jeszcze nieznanych dla ciebie poleceń, na razie powiem, że służą wprowadzania wartości z klawiatury do zmiennej i wypisywania tekstu na ekranie, więc w kolejnych 4 poleceniach użytkownik wypełnia wprowadza wartości dla dzielnej i dzielnik z klawiatury. Gdy już mamy to wszystko, nadchodzi moment, o którym mowa w dzisiejszej lekcji. Najpierw dzielimy dzielną przez dzielnik zwykłym dzieleniem, którym uzyskujemy liczbę całości do zmiennej całość, następnie operatorem % wykonujemy ponownie dzielenie i otrzymujemy resztę z tego dzielenia, która trafia do zmiennej reszta. Kolejnym poleceniem jest wyświetlenie wyników zmiennych wraz z odpowiednim komunikatem.
Tutaj pokazałem nowy sposób na zatrzymanie pracy programu. system("PAUSE"); zatrzymuje prace, wyświetla napis i czeka na naciśnięcie jakiegoś przycisku.
Istnieją jeszcze inne operatory matematyczne, skracające zapis.
-operator ++
Powiększa wartość zmiennej całkowitej o 1.
-operator --
Zmniejsza wartość zmiennej całkowitej o 1;
-operator +=
Powiększa wartość zmiennej całkowitej o podaną ilość.
-operator -=
Zmniejsza wartość zmiennej całkowitej o podaną ilość.
A teraz przykłady:
To chyba kwestię operatorów arytmetycznych mamy wyjaśnioną.
Służą do ustawiania zmiennym konkretnych wartości. Właściwie to jest tylko 1 operator przypisania, którego zresztą już nie raz widziałeś w akcji ;-) Jest nim symbol "=". Jak wiesz służy do ustawiania zmiennym wartości. Po jego lewej stronie jest zawsze zmienna, do której coś przypisujemy, natomiast po prawej wartość, którą przypisujemy. Tutaj musisz zapamiętać bardzo charakterystyczną rzecz dla języka C++, operator przypisania wygląda jak znak równa się "=", większość początkujących myli go z operatorem równośći(o nim dalej). Oto kilka przykładów:
W ostatnim przykładzie najpierw zmiennej liczba2 przypisujemy 0, a potem zmiennej liczba1, przypisujemy wartość liczba2, czyli 0. W końcowym efekcie obie zmienne wynoszą po 0.
Operatory te służą do porównywania wartości zmiennych. Zwykle używa się ich w parze z instrukcjami warunkowymi(o nich w następnej lekcji).
-operator ==
Nazwa matematyczna: równa się.
Służy do sprawdzania czy wartości dwóch zmiennych są równe. Jeżeli tak to zwraca 1(true), jeżeli nie to zwraca 0(false).
-operator !=
Nazwa matematyczna: nie równa się
Przeciwieństwo ==. Służy do sprawdzania czy wartości dwóch zmiennych nie równają się. Jeżeli wartości są nie równe to zwraca 1(true), jeżeli są równe to zwraca 0(false).
-operator >
Nazwa matematyczna: większy
Służy do sprawdzania czy wartość zmiennej po lewej stronie jest większa niż wartość zmiennej po prawej stronie operatora. Jeżeli wartość po lewej stronie jest większa zwraca 1(true), jeżeli większa jest po prawej stronie zwraca 0(false)
-operator <
Nazwa matematyczna: mniejszy
Służy do sprawdzania czy wartość zmiennej po lewej stronie jest mniejsza niż wartość zmiennej po prawej stronie operatora. Jeżeli wartość po lewej stronie jest mniejsza zwraca 1(true), jeżeli mniejsza jest po prawej stronie zwraca 0(false)
-operator >=
Nazwa matematyczna: większy lub równy
Służy do sprawdzania czy wartość zmiennej po lewej stronie jest większa lub równa niż wartość zmiennej po prawej stronie operatora. Jeżeli wartość po lewej stronie jest większa lub równa zwraca 1(true), jeżeli większa jest po prawej stronie zwraca 0(false)
-operator <=
Nazwa matematyczna: mniejszy lub równy
Służy do sprawdzania czy wartość zmiennej po lewej stronie jest mniejsza lub równa niż wartość zmiennej po prawej stronie operatora. Jeżeli wartość po lewej stronie jest mniejsza lub równa zwraca 1(true), jeżeli mniejsza jest po prawej stronie zwraca 0(false)
Kilka przykładów:
Fachowo mówiąc służą do formułowania wyrażeń. Zwykle także używa się ich w instrukcjach warunkowych.
-operator &&
Nazwa potoczna: operator i
Służy do sprawdzania czy wszystkie parametry wynoszą 1(true). Jeżeli wszystkie wynoszą 1 to operator zwraca 1, jeżeli chociaż jeden nie spełnia warunków(wynosi 0) to zwraca 0(false).
-operator ||
Nazwa potoczna: operator lub
Służy do sprawdzania czy chociaż jeden parametr wynosi 1(true). Jeżeli chociaż jeden wynosi 1 to operator zwraca 1, jeżeli żaden parametr nie spełnia warunków(wszystkie wynoszą 0) to zwraca 0(false).
-operator !
Nazwa potoczna: operator zaprzeczenia (not)
Służy do zmiany parametru w odwrotny. Jeżeli parametr będzie wynosił 1(true) to zmienia go w 0(false), jeżeli będzie wynosił 0(false) to zmienia go w 1(true).
Aby zrozumieć działania logiczne, trzeba zrobić sobie powtórkę z logiki(działu matematyki ze szkoły średniej). Już wyjaśniam ostatni przykład. Zaczynamy od środkowego nawiasu 1||0, daje 1, dalej mamy !0, co daje 1, więc 1&&1, czyli cały nawias daje nam 1, ale przed nawiasem stoi !, więc odwraca nam na 0, więc całe wyrażenie wynosi 0. Zmienna wynik przyjmie wartość 0.
Te operatory są bardziej związane ze stroną techniczną komputera.
-operator |
Nazywa się go operatorem sumy bitowej. Łączy ze sobą podane bajty, zmieniając układ bitów w zmiennych. Bliżej jego działanie poznamy pod koniec kursu C++.
-operator &
Nazywa się go operatorem referencji(adresu). Służy do uzyskiwania adresu pamięci danej zmiennej. Jego działanie poznamy przy wskaźnikach.
-operator *
Nazywa się go operatorem dereferencji (wyłuskania). Jest przeciwieństwem operatora &. Służy do zwracania wartości zmiennej, na którą wskazuje wskaźnik(będzie o tym na lekcji o wskaźnikach).
-operator sizeof()
Operator ten zwraca nam rozmiar podanej zmiennej lub innego obiektu w bajtach. Nazwę zmiennej lub obiektu piszemy w nawiasie. Ten operator jest całkiem przydatny i warto go znać. Spójrzmy jak go używać:
To chyba na tyle w tej deczko przydługawej lekcji ;-0