Jazyk C - operátory

Z Kiwiki
Verzia z 01:03, 26. február 2020, ktorú vytvoril 46.227.180.68 (diskusia)
Skočit na navigaci Skočit na vyhledávání

Operátor je symbol, ktorý hovorí kompilátoru, aby vykonával konkrétne matematické alebo logické funkcie. [1] Jeho návratový typ určený podľa typu vstupných hodnôt.

Aritmetické operátory

Sčítanie +

Tento operátor slúži na sčítanie dvoch celých alebo reálnych čísiel. Jeho návratová hodnota je súčet daných čísiel.

x = A + B;

Rozdiel -

Tento operátor slúži na odčítanie dvoch celých alebo reálnych čísiel. Jeho návratová hodnota je rozdiel ľavého a pravého čísla.

x = A - B;

Súčin *

Tento operátor slúži na násobenie dvoch celých alebo reálnych čísiel. Jeho návratová hodnota je súčin daných čísiel.

x = A * B;

Podiel /

Tento operátor slúži na delenie dvoch celých alebo reálnych čísiel. Jeho návratová hodnota je podiel ľavého a pravého čísla.

x = A / B;

Zvyšok po delení %

Tento operátor slúži na vypočítanie celočíselného zvyšku po delení celých čísiel. Jeho návratová hodnota sa nazýva modulo.

x = A * B;

Zmena znamienka -

Tento operátor slúži na zmenu znamienka daného čísla. Jeho návratová hodnota je dané číslo krát -1.

x = -A;
y = A * (-1); //ekvivalent

Inkrementácia ++

Tento operátor slúži na zväčšenie daného čísla o 1.

A++; //hodnota A sa zväčší o 1
++A; //Hodnota A sa tiež zväčší o 1

vypis(A++); //zväčší hodnotu i o 1, ale vráti originálnu hodnotu, ktorú potom vypíše
vypis(++A); //najprv zväčší hodnotu i o 1, potom toto číslo vypíše

Dekrementácia ++

Tento operátor slúži na zmenšenie daného čísla o 1.

A--; //hodnota A sa zmenší o 1
--A; //Hodnota A sa tiež zmenší o 1

vypis(A--); //zmenší hodnotu i o 1, ale vráti originálnu hodnotu, ktorú potom vypíše
vypis(--A); //najprv zmenší hodnotu i o 1, potom toto číslo vypíše


Logické operátory

Logický súčin &&

Tento operátor slúži na vypočítanie logického súčinu dvoch čísiel. Jeho návratová hodnota môže byť len TRUE alebo FALSE.

x = A && B;

Logický súčet ||

Tento operátor slúži na vypočítanie logického súčtu dvoch čísiel. Jeho návratová hodnota môže byť len TRUE alebo FALSE.

x = A || B;

Negácia !

Tento operátor slúži na vypočítanie negácie jedného čísla. Jeho návratová hodnota môže byť len TRUE alebo FALSE.

x = !A;

Poznámka: Vstupné hodnoty logických operátorov môžu byť len TRUE (1) alebo FALSE (0), avšak v jazyku C/C++ sú všetky hodnoty okrem 0 považované za TRUE.


Bitové operátory

Bitový posun vľavo <<

Tento operátor slúži na posunutie bitov jedného čísla vľavo o zadaný počet (chýbajúce bity sa nahradia 0). Rovnaký výsledok sa dá dosiahnuť aj násobením daného čísla násobkami 2 (napr. A << 3 = A * 2 * 3).

//A = B00110101
x = A << 2;
//A = B11010100

Poznámka: V jazyku C/C++ poznáme viac foriem zápisu čísiel, buď napíšeme číslo v dekadickej sústave napr. 125, alebo v binárnej sústave napr. B01111101, alebo v hexadecimálnej sústave napr. 0x7D.

Bitový posun vpravo >>

Tento operátor slúži na posunutie bitov jedného čísla vpravo o zadaný počet (chýbajúce bity sa nahradia 0). Rovnaký výsledok sa dá dosiahnuť aj delením daného čísla násobkami 2 (napr. A >> 3 = A /( 2 * 3)).

//A = B00110101
x = A >> 2;
//A = B00001101

Bitový súčin &

Tento operátor vypočíta logický súčin každého jedného bitu v čísle. Napr.:

 00110101
&10100110
---------
 00100100

Využíva sa najmä ak chceme zmeniť alebo získať určitý bit v čísle.

x = A & B;

Bitový súčet |

Tento operátor vypočíta logický súčet každého jedného bitu v čísle. Napr.:

 00110101
|10100110
---------
 10110111

Využíva sa najmä ak chceme zmeniť alebo získať určitý bit v čísle.

x = A | B;

Bitový exkluzívny súčet ^

Tento operátor vypočíta exkluzívny súčet každého jedného bitu v čísle. Napr.:

 00110101
^10100110
---------
 10010011

Využíva sa najmä pri šifrovaní.

x = A ^ B;

Bitová negácia ~

Tento operátor vypočíta logická negáciu každého jedného bitu v čísle. Napr.:

 00110101
~
---------
 11001010
x = ~A;


Relačné operátory

Menšie ako <

Tento operátor porovnáva dve zadané čísla. Jeho návratová hodnota môže byť len TRUE alebo FALSE. Ak je ľavé číslo menšie ako pravé, tak vráti TRUE, inak FALSE.

A < B;

Väčšie ako >

Tento operátor porovnáva dve zadané čísla. Jeho návratová hodnota môže byť len TRUE alebo FALSE. Ak je ľavé číslo väčšie ako pravé, tak vráti TRUE, inak FALSE.

A > B;

Menšie alebo rovné ako <=

Tento operátor porovnáva dve zadané čísla. Jeho návratová hodnota môže byť len TRUE alebo FALSE. Ak je ľavé číslo menšie alebo rovné ako pravé, tak vráti TRUE, inak FALSE.

A <= B;

Väčšie alebo rovné ako >=

Tento operátor porovnáva dve zadané čísla. Jeho návratová hodnota môže byť len TRUE alebo FALSE. Ak je ľavé číslo väčšie alebo rovné ako pravé, tak vráti TRUE, inak FALSE.

A >= B;

Rovná sa ==

Tento operátor porovnáva dve zadané čísla. Jeho návratová hodnota môže byť len TRUE alebo FALSE. Ak je ľavé číslo rovnaké ako pravé, tak vráti TRUE, inak FALSE.

A == B;

Nerovná sa !=

Tento operátor porovnáva dve zadané čísla. Jeho návratová hodnota môže byť len TRUE alebo FALSE. Ak je ľavé číslo iné ako pravé, tak vráti TRUE, inak FALSE.

A != B;


Priraďovací operátor

Priradenie =

Operátor priradenia slúži na priradenie hodnoty do premennej. Môže byť použitý na akýkoľvek datový typ s jedinou podmienkou, že prvý parameter (ľava strana), musí byť prijímač hodnoty, napríklad premenná. v závislosti na programovací jazyk môžu byť rozdielne podmienky pre priradenie hodnoty do premenných, napríklad na základe závislosti na type.[2] Priradenie, rovnako ako ostatné operátory, má taktiež návratovú hodnotu a ňou je hodnota, ktorá bola priradená.

A = B + 1

Poznámka: V jazyku C/C++ sa pri používaní operátorov postupuje podľa priority operátorov, inak sa postupuje zľava doprava, napr.: A = A + 5 * 6 * B bude vypočítané ako x = 6 * B; y = 5 * x; A = A + y.

Operátor a následné priradenie

Pre zjednodušenie programovania sa takmer všetky aritmetické a bitové operátory dajú nahradiť operátormi spojenými s priradením:

A = A + 2 ..... A += 2
A = A - 2 ..... A -= 2
A = A * 2 ..... A *= 2
A = A / 2 ..... A /= 2
A = A % 2 ..... A %= 2

A = A << 2 .... A <<= 2
A = A >> 2 .... A >>= 2
A = A & 2 ..... A &= 2
A = A | 2 ..... A |= 2
A = A ^ 2 ..... A ^= 2

Zdroje