Operatory opis 16 45


Operatory i ich hierarchia:

np. b+= a++ + b||c - d>>2 & a ^d;
Poziomy hierarchii:
1. () [] -> - () - przy funkcjach, oraz (a+b)/c, [] - przy tablicach, -> - przy strukturach i klasach
2. ! ~ ++ -- + - * & (typ) sizeof <==PRAWOSTRONNE tzn. operator--zmienna
a=0
!a=1
a=3
!a=0
! - negacja logiczna !(prawda)=fałsz
prawda - kiedy liczba różna od 0
fałsz - kiedy liczba = 0
~ - negacja bitowa
a=3 ... 0000 0011
~a=fffffffc ... 1111 1100

++
--

+ np. +a, +4 <== jednoargumentowy
- np. -a, -4 <== jednoargumentowy

* & - przy wskaźnikach, np. *a, **a, ***a, &a

(typ) - operator konwersji
sizeof
3. * / % - mnożenie, dzielenie, reszta z dzielenia <==== DWURAGUMENTOWE,
np. a * 5 , b % d
/ - dzielenie:
17 / 3 = 5
int / int -> int
17 / 3.0 = 5.66667
int / float ->float
17.0 / 3 = 5.6667
float / int -> float
4. + - <- dodawanie, odejmowanie
<==== DWURAGUMENTOWE,
5. << >> <=== przesunięcia bitowe, np. a >> 2 - przesunięcie wprawo a o 2 bity
6. < <= > >= <== operatory relacji (porównań) WYNIK: wartość logiczna
7. == != <== czy równe, czy nierówne
8. & -bitowe AND ( I )
<==== DWURAGUMENTOWY, np. a & b
9. ^ -bitowe XOR ( suma modulo 2 )
<==== DWURAGUMENTOWY, np. a ^ b
10. | -bitowe OR( LUB )
<==== DWURAGUMENTOWY, np. a | b
11. && -LOGICZNE AND ( I )
<==== DWURAGUMENTOWY, np. a && b
12. || -lOGICZNE OR( LUB )
<==== DWURAGUMENTOWY, np. a || b
13. ?: np. a>b ? 3 : -7 <== jeżeli warunek: a>b jest prawdziwy to wynikiem operatora jest 3 (przed :), jeżeli nie - -7 (po :).
14. = += -= *= /= %= ^= |= &= <<= >>= np. a+=2; <== to samo co a=a+2; <== operatory przypisania
15. , np. a=3, b=6, c=8; <== jedna instrukcja
16. ++ -- <== postinkrementacja, postdekrementacja

Przykładowe zadanie do wprawek - analiza "na sucho":

int a=4, b=044, c=0xa1, d=9;
float k=1.5, f=22.33;

d+= a>k? 2:4 + b||c >>2 & b / ~k;















Wyszukiwarka