Rozdíly
Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.
| Obě strany předchozí revize Předchozí verze Následující verze | Předchozí verze | ||
| spse:pm1:cpp-operatory [2020/12/07 20:10] – jenda | spse:pm1:cpp-operatory [2024/07/07 16:48] (aktuální) – upraveno mimo DokuWiki 127.0.0.1 | ||
|---|---|---|---|
| Řádek 43: | Řádek 43: | ||
| </ | </ | ||
| - | Hodnota proměnné '' | + | * Hodnota proměnné '' |
| + | * Tato hodnota je zprava postupně předávána všem proměnným. | ||
| <---- | <---- | ||
| ===== Aritmetické operátory ===== | ===== Aritmetické operátory ===== | ||
| Řádek 58: | Řádek 59: | ||
| </ | </ | ||
| ----> | ----> | ||
| - | Příklad: | + | |
| + | < | ||
| <code c> | <code c> | ||
| int x; | int x; | ||
| Řádek 65: | Řádek 67: | ||
| // output: " | // output: " | ||
| </ | </ | ||
| - | + | </ | |
| - | Proměnné '' | + | |
| - | + | * Pokud podělíme číslo 10 třemi, dostaneme výsledek 3 a zbytek 1 - tento zbytek je výslednou hodnotou. | |
| - | Tímto způsobem lze například snadno zjistit, zda je číslo sudé nebo liché '' | + | |
| <---- | <---- | ||
| Řádek 74: | Řádek 76: | ||
| ==== Složené přiřazení ==== | ==== Složené přiřazení ==== | ||
| - | Jedná se pouze o zjednodušení zápisu. | + | * Jedná se pouze o zjednodušení zápisu. |
| - | + | | |
| - | '' | + | |
| - | + | * '' | |
| - | Obdobné je to i s dalšími složenými operátory: '' | + | |
| ==== Inkrementace a dekrementace ==== | ==== Inkrementace a dekrementace ==== | ||
| - | Inkrementace se značí '' | + | |
| + | < | ||
| <code c> | <code c> | ||
| x++; | x++; | ||
| Řádek 89: | Řádek 90: | ||
| </ | </ | ||
| Tento zápis má stejný význam jako zápis '' | Tento zápis má stejný význam jako zápis '' | ||
| + | </ | ||
| ===== Relační operátory ===== | ===== 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ě. | + | * 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 ^ | ^ OPERÁTOR ^ VÝZNAM ^ | ||
| | > | větší než | | | > | větší než | | ||
| Řádek 101: | Řádek 103: | ||
| | == | je rovno | | | == | je rovno | | ||
| | != | není rovno | | | != | není rovno | | ||
| - | + | </ | |
| - | Výsledkem porovnání je vždy booleovská hodnota a to pravda nebo nepravda. | + | |
| ----> | ----> | ||
| <code c> | <code c> | ||
| Řádek 113: | Řádek 115: | ||
| x/2 != y; //nepravda | x/2 != y; //nepravda | ||
| </ | </ | ||
| - | <---- | + | <fragment-block> |
| - | ----> | + | <WRAP center round important |
| - | <WRAP center round important | + | |
| Operátor '' | Operátor '' | ||
| </ | </ | ||
| + | </ | ||
| <---- | <---- | ||
| ===== Logické operátory ===== | ===== 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. | + | * 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. | ||
| + | < | ||
| ^ OPERÁTOR ^ VÝZNAM ^ | ^ OPERÁTOR ^ VÝZNAM ^ | ||
| | && | spojka a (and) | | | && | spojka a (and) | | ||
| | %%||%% | spojka nebo (or) | | | %%||%% | spojka nebo (or) | | ||
| | ! | negace | | ! | negace | ||
| + | </ | ||
| ----> | ----> | ||
| Příklad: Mějme následující složený výrok: | Příklad: Mějme následující složený výrok: | ||
| Řádek 136: | Řádek 140: | ||
| ((x < y) && (y != x)); | ((x < y) && (y != x)); | ||
| </ | </ | ||
| - | Operátor ''&&'' | + | * Operátor ''&&'' |
| - | <---- | + | * Výslednou hodnotu výroku určíme z pravdivostních hodnot jednotlivých jednoduchých výroků. |
| - | ----> | + | |
| - | Jednoduchý výrok '' | + | * Výslednou hodnotou složeného výroku je tedy pravda, jelikož pravda a pravda = pravda. |
| <---- | <---- | ||
| ==== Pravdivostní tabulky: ==== | ==== Pravdivostní tabulky: ==== | ||
| - | + | < | |
| - | ^ A ^ B ^ A && B ^ | + | ^ A ^ B ^ A && B |
| - | | 1 | 1 | 1 | | + | | 1 | 1 | 1 |
| - | | 1 | 0 | 0 | | + | | 1 | 0 | 0 |
| - | | 0 | 1 | 0 | | + | | 0 | 1 | 0 |
| - | | 0 | 0 | 0 | | + | | 0 | 0 | 0 |
| - | + | </ | |
| - | Z této pravdivostní tabulky jasně vyplývá, že k tomu, aby byl složený výrok se spojkou ''&&'' | + | * Aby byl složený výrok se spojkou ''&&'' |
| - | + | * Z pravdivostní tabulky spojky '' | |
| - | ^ A ^ B ^ A %%||%% B ^ | + | |
| - | | 1 | 1 | 1 | | + | |
| - | | 1 | 0 | 1 | | + | |
| - | | 0 | 1 | 1 | | + | |
| - | | 0 | 0 | 0 | | + | |
| - | + | ||
| - | Naopak z pravdivostní tabulky spojky '' | + | |
| === Negace === | === Negace === | ||
| Řádek 168: | Řádek 165: | ||
| </ | </ | ||
| + | |||
| 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ý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. | ||
| ===== Priorita operátorů ===== | ===== Priorita operátorů ===== | ||
| + | < | ||
| <code c> | <code c> | ||
| int x; | int x; | ||
| Řádek 178: | Řádek 176: | ||
| printf(" | printf(" | ||
| </ | </ | ||
| - | + | </ | |
| - | Výsledkem je číslo 14, protože nejprve dojde k součinu čísel 3 a 4, jelikož násobení má větší prioritu než sčítání, | + | |
| - | + | | |
| - | Pokud tedy chceme, aby nejdříve došlo k součtu čísel 2 a 3, pomůžeme si závorkami: | + | < |
| <code c> | <code c> | ||
| int x; | int x; | ||
| Řádek 188: | Řádek 186: | ||
| Výsledkem je nyní číslo 20. | Výsledkem je nyní číslo 20. | ||
| </ | </ | ||
| + | </ | ||