Operátory

Obsah kapitoly:

Binárne operátory:

        +       sčítanie
        –       odčítanie
        *       násobenie
        /        reálne delenie
        /        celočíselné delenie
       %      delenie modulo (zvyšok po celočíselnom delení)

K sčítaniu, odčítaniu a násobeniu sa zrejme vyjadrovať nemusím. Výsledkom celočíselného delenia je vždy celé číslo, zatiaľ čo výsledkom reálneho delenia môže byť aj desatinné číslo. To, či bude delenie celočíselné, alebo reálne, závisí od typu operandov.

Príklad:

     int i = 2, j = 9;
     float f = 2, g = 9;
     float x;
     x = g/f;       /* reálne delenie, oba operandy(g,f) sú typu float, teda reálne čísla
                         (float/float), v premennej x bude uložený výsledok 4.5 */
     x = g/i;       /* reálne delenie, jeden operand (g) je typu float a druhý (i) typu int
                         (float/int), v premennej x bude uložený výsledok 4.5 */
     x = j/f;       /* reálne delenie, jeden operand (j) je typu int a druhý (f) typu float
                         (int/float), v premennej x bude uložený výsledok 4.5 */
     x = j/i;       /* celočísené delenie, oba operandy(j,i) sú typu int, teda celé čísla
                         (int/int), v premennej x bude uložený výsledok 4 */

Čo to je delenie modulo bude úplne jasné, keď uvediem niekoľko príkladov:

     5 % 2 = 1
     4 % 2 = 0
     9 % 3 = 0
     5 % 3 = 2

Určite ste si všimli, že výsledkom delenia modulo je zvyšok po celočíselnom delení.



Unárne operátory:

      +       unárne plus
      –       unárne mínus

Príklad:

     int i, j;
     i = +3;       //kladné číslo
     j = -3;       //záporné číslo

Unárne plus a mínus vyjadrujú len to, či je číslo kladné, alebo záporné. Myslím, že unárne plus a mínus nepotrebujú ďalší komentár.



Špeciálne unárne operátory:

      ++       inkrementovanie (zväčšenie o jedna)
      - -       dekrementovanie (zmenšenie o jedna)

Príklad:

     int i = 2, j = 3;
     i++;       //inkrementovanie po použití (i bude3)
     ++i;       //inkrementovanie pred použitím (i bude 4)
     j--;        //dekrementovanie po použití (j bude 2)
     --j;        //dekrementovanie pred použitím (j bude 1)

Aký je rozdiel medzi inkrementovaním pred použitím a po použití, predchádzajúci príklad neukazuje. Ukážeme si to na nasledujúcich dvoch príkladoch.

Príklad 1:

     int i, j = 3;
     i = j++;       //i bude 3, j bude 4

Príklad 2:

     int i, j = 3;
     i = ++j;       //i bude 4, j bude 4

Ako je zrejmé z príkladu 1, inkrementovanie po použití znamená, že prememennú j najprv použijem (t.j. jej hodnotu najprv priradím premennej i) a až potom ju inkrementujem (zväčším o jedna). Ako ukazuje príklad 2 pri inkrementovaní pred použitím je to naopak (najrv premennú j inkrementujem a potom jej hodnotu priradím premennej i).



Priraďovacie operátory

Najdôležitejším priraďovacím operátorom je operátor priradenia =. Tento operátor sme si už ukázali a vysvetlili v kapitole Premenná (podkapitola Priradenie). Teraz si vysvetlíme ďalšie priraďovacie operátory.

     i  +=  j            je to isté ako             i = i + j
     i  –=  j            je to isté ako             i = i – j
     i  *=  j            je to isté ako             i = i * j
     i  /=  j             je to isté ako             i = i / j
     i  %=  j          je to isté ako             i = i % j

Príklad:

     int i = 4, j = 2;
     i += j;       //i bude 6, j bude 2
     i /= j;        // i bude 3, j bude 2 (treba si uvedomiť, že po prvej operácii premenná i nadobudla hodnotu 6)
     i /= ++j;   //i bude 1, j bude 3


predošlá kapitola       ďalšia kapitola

hore

späť

domov


© Roman Kukučka