Operátory - sčítání atd.

Operátor přiřazení

int x;
x = 7;
int x,y,z;
x = 7; //proměnné x je přiřazena hodnota 7 (x=7;y=0,z=0)
y = x; //proměnné y je přiřazena hodnota proměnné x, tedy 7 (x=7;y=7;z=0)
z = 3; //proměnné z je přiřazena hodnota 3 (x=7;y=7;z=3)
x = y+z; //proměnné x je přiřazen součet hodnot proměnných y a z (x=10,y=7,z=3)


Aritmetické operátory

OperátorVýznam
+sčítání
-odčítání
*násobení
/dělení
%modulo (zbytek po celočíselném dělení)


Složené přiřazení

Slouží k zkrácní zápisu.

Složený OperátorVýznam
x += y;x = x + y;

Obdobné je to i s dalšími složenými operátory: -=, *=, /=, %=, >>=, <<=, &=, ^=, |=



Inkrementace a dekrementace

Pokud proměnnou inkrementujeme, znamená to, že její hodnotu zvýšíme o 1. Naopak dekrementovat známená snižit hodnotu o 1. Inkrementace se značí ++ (např.: a++;) a dekrementace -- (např.: a--;). x++;Tento zápis má stejný význam jako zápis x = x + 1;.

int x,y;
y = 2;
x = ++y;

Pokud použijeme prefixový způsob zápisu, bude proměnné x přiřazena hodnota 3, jelikož při přiřazování nejprve došlo k inkrementaci proměnné y a až poté k přířazení.

int x,y;
y = 2;
x = y++;

Pokud však použijeme postfixový zápis, bude proměnné x přiřazena hodnota 2, protože při přiřazování byla nejprve proměnné x přiřazena hodnota y (2) a až poté došlo k inkrementaci y.



Relační operátory

Relační operátory se používají pro vzájemné porovnání dvou ale i více proměnných. Porovnávat můžeme například zda jsou si hodnoty proměnných rovny nebo zda je jedna větší než druhá a podobně.

Operátor Význam
> větší než
< menší než
>= větší nebo rovno
<= menší nebo rovno
== je rovno
!= není rovno

Výsledkem porovnání je vždy booleovská hodnota a to pravda nebo nepravda. Například:

int x,y;
x = 4;
y = 2;
x <= y; //nepravda
x > y; //pravda
x == y+2; //pravda
x/2 != y; //nepravda
Pozor! Operátor = neslouží pro porovnání rovnosti proměnných. je třeba použít operátor ==.

Logické operátory

Logické operátory mají stejnou funkci jako spojka ve větě. Spojují několik výroků v jeden (složený výrok). Výsledkem je pravda nebo nepravda. Patří sem také operátor negace, který neguje logickou hodnotu výroku.

Tedy z pravdy negací vznikne nepravda a naopak. Mezi logické operátory patří:
Operátor Význam
&& logický součin, průnik, a (and)
|| logický součet, sjednocení, nebo (or)
! negace

Příklad: Mějme následující složený výrok:

int x,y;
x = 1;
y = 2;
((x < y) && (y != x));

Operátor && nám jednoduché výroky (x < y) a (y != x) spojuje v jeden složený výrok. Výslednou hodnotu výroku určíme z pravdivostních hodnot jednotlivých jednoduchých výroků.
Jednoduchý výrok (x < y) dává výslednou hodnotu pravda stejně jako výrok (y != x). Výslednou hodnotou složeného výroku je tedy pravda, jelikož pravda a pravda = pravda. Podívejme se na následující pravdivostní tabulky:

aba && b
pravdapravdapravda
pravdanepravdanepravda
nepravdapravdanepravda
nepravdanepravdanepravda

Z této pravdivostní tabulky jasně vyplývá, že k tomu, aby byl složený výrok se spojkou && pravdivý, musí být pravdivé i všechny jednoduché výroky ze kterých je je tento výrok složen.


aba || b
pravdapravdapravda
pravdanepravdapravda
nepravdapravdapravda
nepravdanepravdanepravda


Naopak z pravdivostní tabulky spojky || vyplývá, že stačí aby byl pravdivý pouze jeden jednoduchý výrok.

Pro úplnost si ukážeme ještě již zmiňovanou negaci:

int x,y;
x = 1;
y = 2;
!(y > x);

Výslednou hodnotou je nepravda a to i přesto, že výrok 2 > 1 je pravdivý. Výsledná hodnota výroku je totiž negována.

Více zde.

Naposledy změněno: Pátek, 29. července 2022, 10.52