Kurs C++ - zadania, opracowania, olimpiady, algorytmy
  Lekcja 3 - operatory
 
Operatory



W każdym języku programowania istnieją sposoby przypisywania zmiennym wartości,
wykonywania działań matematycznych, itp. Służą do tego specjalne znaki zwane
operatorami.


Znakiem który pozwala na przypisanie zmiennej wartości jest operator przypisania
czyli znak "=":

int liczba;
liczba = 17;

Można to też troche skrócić :p
int liczba=17;

Trochę o operatorach powiedziałem już w poprzedniej lekcji, jednak postanowiłem poświęcić temu cały odzielny topic

Operatory arytmetyczne




*  -  operator mnożenia

/  -  operator dzielenia

%  -  operator dzielenia modulo

+  -  operator dodawania

-  -  operator odejmowania



Bardzo podobne operatory do powyższych to:


*=  -  pomnóż przez

/=   - podziel przez

%=  -  podziel modulo przez

+=  -  dodaj

-=  -  odejmij



Zapis ten jest skróconym zapisem:

int liczba = 16;
liczba += 3;    //to samo co: liczba=liczba+3;
liczba %= 5;    //liczba ma teraz wartosc 19(mod)5 = 4


Operatory inkrementacji



Operatory inkrementacji i dekrementacji są proste

Krótki przykład zastosowania inkrementacji i deinkrementacji:

int a=2;
a++; // postinkrementacja to tak samo jakbyśmy zapisali a=a+1; poprostu dodaje o jeden.
++a; //  preinkrementacja to tak samo jak wyżej a=a+1, jednak jest tu mała różnica, ale o tym napiszę za chwilę.
a--; // postdekrementacja to prawie jak wyzej tylko tu odejmujemy o jeden a=a-1;
--a;
// predekrementacja jak wyżej, a o różnicach już piszę

Jak widać rozróżniamy dwa rodzaje inkrementacji:
- postinkrementacja (a++),
- preinkrementacja (++a)
I dwa rodzaje dekrementacji:
- postdekrementacja (a--),
- predekrementacja (--a).

Czym różni się "post" od "pre" ?? Już wyjaśniam.

Otóż operator preinkremencacji (++a) zwraca wartość już zwiększoną o 1 (w tym przypadku będzie to 3) natomiast operator
postinkrementacji (a++) zwraca wartość zmiennej przed procesem inkrementacji (tutaj zwróci wartość 3 natomiast wartość zmiennej 'a' będzie już wynosić 7).

To jest chyba zrozumiałe (jakby co to forum).

Może narazie inkrementacje jeszcze zostawcie. Dowiecie się do czego ona służy tak naprawdę w dalszych lekcjach .


Operatory logiczne


&&  -  logiczne "i"

||  -  logiczne "lub"

!  -  negacja logiczna


Operatory logiczne operują na wartościach logicznych (prawda/fałsz).

Operator && zwraca wartość true (prawda) wtedy i tylko wtedy gdy oba argumenty
mają wartość logiczną true.

np. if((a>2) && (b<5)) cout<<"extra"<<endl;
       (jeśli a jest większe od 2 i b jest mniejsze od 5 to wypisz extra.) O pętlach również dowiecie się potem to tylko taki nie warty uwagi przykład


Operator || zwraca true gdy przynajmniej jeden z argumentów ma wartość true.

Operator ! neguje wartość logiczną, a więc gdy argument ma wartość true to zwraca false, a gdy false to zwraca true. Taka zamiana.

Operatory relacji




==  -  operator porównania

!=  -  operator nierówności

>  -  operator większości

>= -  większe bądź równe

<  -  operator mniejszości

<=  -  mniejsze bądź równe



Operatory relacji zwracają wartości logiczne true/false (liczbowo 1/0).

Operator porównania == zwraca wartość true wtedy i tylko wtedy gdy oba argumenty mają tą samą wartość.

Operator nierówności != zwraca wartość true wtedy gdy oba argumenty różnią się co do wartości (nie są sobie równe).

Operator > (>=) zwraca wartość true wtedy pierwszy z argumentów (ten po lewej stronie ma wartość większą (większą bądź równą) od drugiego argumentu.

Analogicznie działają operatory < oraz <=.



Operatory selekcji




.   - operator selekcji

->  -  operator selekcji wskaźników

.*  - operator selekcji klas

->*  -  operator selekcji wskaźników klas


Powyższe operatory selekcji poruszę gdzieś pod koniec kursu.


To by było na tyle jeśli chodzi o operatory. Dziękuję za uwagę :p
 
   
 
Ta strona internetowa została utworzona bezpłatnie pod adresem Stronygratis.pl. Czy chcesz też mieć własną stronę internetową?
Darmowa rejestracja