Operatory
Operatory są to znaki które nakazują programowi dodać, przypisać
wartości zmiennych, porównać ich wartość i inne rzeczy. Istnieje coś takiego jak
pierwszeństwo operatorów. Jest to dokładnie to samo co w matematyce. Wiemy że
4*4+4=20 a nie 32.. Chodzi tu o to że najpierw wykonywane jest mnożenie a potem
dodawanie a nie na odwrót. Jeżeli chcielibyśmy zrobić to na odwrót stosujemy
nawiasy. Np: 4*(4+4) i w tedy mamy wynik 32. Dokładnie tak samo robimy w
C++.Listę operatorów przedstawiam poniżej. U samej góry są operatory z
największym pierwszeństwem a na dole z najmniejszym.
Operatory i ich pierwszeństwo
Operator
Operacja
opis
::::
zasięg globalny (jednoargumentowy)zasięg klasy (dwuargumentowy)
->.[]()()
selektory składowychindex tablicywywołanie
funkcjikonstrukcja typu
sizeof++--~!+-*&()newdelete
rozmiarzwiększeniezmniejszenienegacja bitowanegacja logicznaplus
(jednoargumentowe)minus
(jednoargumentowe)wyłuskanieadresprzekształcenie
typuzarządzanie pamięcciąprzydzielaną dynamicznie
->*.*
wskaźnikowe selektory składowych
*/%
mnożeniedzieleniedzielenie modulo
zwraca resztę z dzielenia
+-
dodawanieodejmowanie
<<>>
w lewow prawo
przesówanie bitów
<<=>>=
operacje
relacji
==!=
równośćnierówność
&
koniunkcja
bitowa
^
różnica
symetryczna
|
alternatywa
bitowa
&&
iloczyn logiczny
||
suma logiczna
?:
if arytmetyczne
zastępuje czasem funkcję warunków
=*=/=%+=-=<<=>>=&=|=^=
PrzypiszPomnóż przez wartośćPodziel przez wartośćUmieść
resztę z dzielenia przez wartośćDodajOdejmijPrzesuń o ...
bitów w lewoPrzesuń o ... bitów w prawoLogiczne ANDLogiczne
ORNegacja
Operacje
przypisania.
,
przecinekOperatory
arytmetyczneOperatory arytmetyczne działają na ogólnych wartościach
wyrażenia, nie na poszczególnych bitach. Oprócz podanych poniżej występuje
jeszcze dodawanie i odejmowanie ale chyba tego nie muszę tłumaczyć.
Mnożenie Operator mnożenia moży przez siebie dwie liczby. Nie ma
do niego szczególnych zaleceń lub uwag. Ma on następującą składnię:2 * 2
DzielenieOperator dzielenia mnoży przez siebie dwie
liczby. Trzeba pamiętać że dzielnik nie może być zerem. Jeżeli nastąpi taka
sytuacja to program przerwie działanie z komunikatem błędu dzielenia przez 0.
Składnia:argument / dzielnik Dzielenie
moduloDzielenie modulo zwraca resztę z dzielenia. Tzn jeżeli
dzielimy liczbę całkoitą przez drógą całkowitą (bo tylko na takich liczbach
operacja ta jest dozwolona) to często wynikiem jest ułamek. np wynik dzielenia
3/2 będzie 1 (jeżeli wynik ma być typu int) żeby określić jaka liczba jest po
przecinku stosujemy dzielenie modulo. Wynikiem działania 3%2 będzie 5. Wynik
tego dzielenia też jest zawsze typu int. Sumując wynik dzielenia 3 przez 2 jest
1.5 . dzielenie na wartościach całkowitych daje 1 a dzielenie modulo daje 5.
Jeżeli wynikiem dzielenia jest liczba całkowita np: 4/2=2, to wynikiem dzielenia
modulo jest 0 (4%2=0). W ten sposób bada się parzystość liczby.
Składnia:liczba2 % liczba2 Operatory bitoweOperatory
bitowe działają osobno na poszczególnych bitach zmiennych Przesówanie
bitów w lewo Zakładamy że operacja dzieje się na zmiennych typu unsigned char.
Jeżeli zmienna ma wartość przedstawioną w postaci
binarnej:00100100to wynikiem takiej operacji zmienna << 2
będzie wynik:10010000to polecenie przesuwa bity w lewo o dwie pozycje.
Argument traci bity które w wyniku przesunięcia znajdą się poza nim. po prawej
stronie na miejsce brakujących bitów wstawia zera. Składnia:zmienna <<
liczba bitów Przesuwanie bitów w prawoZakładamy że operacja dzieje
się na zmiennych typu unsigned char. Jeżeli zmienna ma wartość przedstawioną w
postaci binarnej:00100100to wynikiem takiej operacji zmnienna >> 1
będzie wynik:00010010to polecenie przesuwa bity w lewo o jedną pozycję.
Argument traci bity które w wyniku przesunięcia znajdą się poza nim. po lewej
stronie na miejsce brakujących bitów wstawia zera. Składnia:zmienna >>
liczba bitów Negacja bitowaNegacja bitowa zamienia w
zmiennej wszystkie zera na jedynki i jedynki na zera. Jeżeli mamy zmienną o
wartości:10011010to jej negacja bitowa wygląda
tak:01100101Składnia:~zmiennaKoniunkcja
bitowaKoniunkcja bitowa jest to mnożenie pojedynczych bitów.
Koniunkcja daje wynik jeden na danej pozycji, gdy w we wszystkich zmiennych na
tej pozycji jest jedynka. Jeżeli tylko na jednym miejscu jest 0 to wynikiem jest
0. Przykład:01101011 - zmienna111001101 - zmienna201001001 -
wynikDziała on na argumentach całkowitychSkładnia:zmienna1 &
zmienna2Różnica symetrycznaWynikiem różnicy
symetrycznej jest na danej pozycji jedynka tylko w tedy gdy tylko w jednej
zmiennej na danej pozycji jest jedynka. W przeciwnym wypadku jest
0.01101011 - zmienna111001101 - zmienna210100110 -
wynikDziała on na argumentach całkowitychSkładnia:zmienna1 ^
zmienna2Alternatywa bitowaWynikiem alternatywy bitowej
jest na danej pozycji jedynka w tedy gdy przynajmniej w jednej zmiennej na danej
pozycji jest jedynka. W przeciwnym wypadku jest 0. 01101011 -
zmienna111001101 - zmienna211101111 - wynikDziała on na argumentach
całkowitychSkładnia:zmienna1 | zmienna2Operatory porównania,
relacji oraz operatory logiczneOperatory te słóżą do obliczania
wartości "prawda" lub "fałsz". Warunek prawdziwy daje wartość 1 natomiast
fałszywy 1.Negacja logicznaNegacja logiczna zamienia
prawdę w fałsz, a fałsz w prawdę. Np. jeżeli wyrażenie: a==b jest prawdziwe i do
niego zastosujemy wyrażenie !(a==b) to w wyniku otrzymamy
fałsz.Składnia:!argumentIloczyn
logicznyWynikiem iloczynu logicznego jest prawda tylko wtedy gdy oba
argumenty też są prawdziwe. Jeżeli tylko jeden jest fałszywy to wynikiem jest
fałsz.Składnia:argument1 && argument2Suma
logicznaWynikiem sumy logicznej jest prawda wtedy jeżeli
przynajmniej jeden argument jest prawdziwy. Tylko jeżeli oba są fałszywe to
wynikiem jest fałsz.Składnia:argument1 ||
argument2RównośćWynikiem jest prawda w tedy gdy watości
obu argumentów są takie same. Składnia:argument1 ==
argument2NierównośćWynikiem jest prawda w tedy gdy
watości obu argumentów są różne. Składnia: argument1 != argument2
Operatory relacjiWynikiem jest prawda w tedy gdy jest
spełniony warunek że coś jest większe, mniejsze, lub równe od siebie. Zależy on
od operatora. Składnia:argument1 < argument2 argument1 <=
argument2 argument1 > argument2 argument1 >= argument2
Operatory przypisaniaArgument występujący po lewej
stronie przypisania (po lewej stronie znaku =) musi być jedną wartością. Oprócz
operatora = istnieją inne. Mają one znaczenie wedłóg poniższego schematu:a
op= bJest to równe:a = a op bgdzie op jest operatorem który
znajduje się po lewej stronie znaku =. Np: a *= b;jest równe zapisowi (albo
jak kto woli jest skróconym zapisem):a = a * b; Operator
arytmetyczny ifJest to jedyny w języku C++ operator, w którym śa
wymagane 3 argumenty. ma on następującą składnię:warunek ? wyrażenie1 :
wyrażenie2Zawsze na początku jest obliczany warunek. Jeżeli jest on
prawdziwy ( != 0 ) to jest obliczany wrażenie1 a jeżeli warunek jest równy 0 to
jest obliczane wyrażenie2.Operatory zwiększania i
zmniejszaniaOperator zwiększaniaDodaje on liczbę 1 do zmiennej przy
której ten operator występuje.Jest to skrót ot wyrażenia:a = a + 1;
luba += 1;Składnia:++zmiennazmienna++ Operator
zmniejszaniaOdejmuje on liczbę 1 do zmiennej przy której ten
operator występuje.Jest to skrót ot wyrażenia:a = a - 1;
luba -= 1;Składnia:--zmiennazmienna-- Operator
sizeofOperator sizeof przekazuje liczbę bajtów będązą rozmiarem
wyrażenia lub specyfikatora typu. Może on występować w jednej z dwóch
postaci:sizeof (specyfikator_typu);sizeof wyrażenie;
Wyszukiwarka
Podobne podstrony:
trans operationm01 operatorchecker sowiDodatek C Kolejność operatorówCisco Broadband Operating System Appendix AOperation Peiperinstrukcja bhp na stanowisku operator koparko ladowarkiOr Operator koparko spycharkilanguage operators comparisonlanguage operators increment272?1105 operator koparko ladowarkiHeinlein, Robert A Successful Operationlanguage operators errorcontrollanguage operators bitwiseDziałania w terenie górskim Mountain Operationswięcej podobnych podstron