Hledejte v chronologicky řazené databázi studijních materiálů (starší / novější příspěvky).

21. Aritmetické operátory, relační, logické, inkrementování a dekrementování(celá otázka zkopírována z otázky č.3).

aritmetické operátory
+, -, *
/ Celočíselné, nebo reálné, dělení. To, jestli bude provedeno dělení celočíselné, nebo reálné, záleží na typu operandů. Pokud oba operandy budou celočíselného typu, provede se celočíselné dělení. Pokud ovšem alespoň jeden z operandů bude reálného typu, provede se dělení reálné. V případě, že potřebujeme provést reálné dělení na operandech celočíselných typů, musíme jeden z nich přetypovat pomocí operátoru přetypování (viz. dále) na reálný typ.

% Dělení modulo, neboli zbytek po celočíselném dělení.

= Přiřazení.

relační operátory
<, <=, >, >= menší než, menší nebo rovno, atd...

!= nerovnost

== rovnost

logické operátory
&& logický součin (AND)

|| logický součet (OR)

^ logický XOR

! negace

operátory inkrementace a dekrementace
++ Inkrementace. Zvýší hodnotu operandu o 1.
-- Dekrementace. Sníží hodnotu operandu o 1.

Oba operátory se dají použít jak před svým operandem, tak za ním. Význam je ale pokaždé jiný. Pokud operátor uvedeme před operandem, jedná se o tzv. preinkrementaci. To znamená, že hodnota operandu se nejprve zvýší a tato zvýšená hodnota je vrácena jako výsledek operace. Naopak při postinkrementaci je jako hodnota celého výrazu vrácena původní hodnota operandu a pak je teprve operand samotný zvýšen o 1.

int a,b=1;
a = b++;
/*Postinkrementace. Výraz b++ je nejdříve vyhodnocen (a jeho hodnota přiřazena proměnné a) a pak je teprve inkrementována proměnná b. Proměnná a teď tedy má hodnotu 1 a b je rovno 2.*/

a = ++b;
/*Preinkrementace. Nejdříve je inkrementováno b na hodnotu 3. Tato hodnota je i výsledkem vyhodnocení výrazu ++b a tedy je přiřazena proměnné a. Hodnota a je 3.*/

Žádné komentáře:

Okomentovat