Lekcja 8
Operatory część druga - operatory inkrementacji i dekrementacji, relacji oraz operatory logiczne
Wprowadzenie
W poprzedniej lekcji przedstawiłem Ci podstawowe operatory: operator przypisania, operatory arytmetyczne oraz złożone operatory przypisania. Dzięki tej lekcji poznasz kolejne rodzaje operatorów. Wszystkie przedstawione tutaj operatory są nie mniej przydatne i nie rzadziej używane od tych przedstawionych w poprzedniej lekcji.
Operatory inkrementacji i dekrementacji
Operatory te można nazwać operatorami spokrewnionymi z operatorem przypisania, dodawania i odejmowania, bowiem powodują one zmniejszenie lub zwiększenie wartości zmiennej o 1.
++ zwiększenie wartości o 1, np. i++ to jest to samo co i=i+1
-- zmniejszenie wartości o 1, np. i-- to jest to samo co i=i-1
Należy jednak zwrócić uwagę, że operatory te można stosować przed i po zmiennej, tzn. liczba++ lub ++liczba. Podobnie jest z operatorem dekrementacji --. Mimo, że działanie operatora w obu przypadkach jest podobne, to nie jest jednak identyczne!
Aby to wyjaśnić, muszę Ci zdradzić, że w języku C/C++ prawie każde wyrażenie zwraca jakąś wartość. Np. operacja 5+6 zwraca liczbę 11, i dzięki temu int liczba=5+6; powoduje przypisanie zmiennej liczba wartości 11.
Operatory ++ i -- również zwracają wartość, z tym tylko, że jeśli operator znajduje się przed zmienną, to zwraca wartość zmiennej po zwiększeniu(zmniejszeniu), a jeśli znajduje się po zmiennej, to zwraca wartość zmiennej przed wykonaniem operacji zwiększenia(zmniejszenia). Jednak wartość zmiennej w obu przypadkach będzie taka sama.
Jeśli nie do końca udało Ci się zrozumieć jaka jest różnica, oto prosty program, który powinien wyjaśnić wszystkie wątpliwości:
#include <iostream>
using namespace std;
int main()
{
int liczba1;
int liczba2;
int liczba3;
int liczba4;
liczba1=5;
liczba2=5;
liczba3=5;
liczba4=5;
cout <<"Wartosc liczba1++ to "<<liczba1++
<<" a wartosc zmiennej to "<<liczba1<<endl;
cout <<"Wartosc ++liczba2 to "<<++liczba2
<<" a wartosc zmiennej to "<<liczba2<<endl;
cout <<"Wartosc liczba3-- to "<<liczba3--
<<" a wartosc zmiennej to "<<liczba3<<endl;
cout <<"Wartosc --liczba4 to "<<--liczba4
<<" a wartosc zmiennej to "<<liczba4<<endl;
cout <<endl<<"Nacisnij ENTER aby zakonczyc"<<endl;
getchar();
return 0;
}
program nr 8.1