Rozdíly
Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.
| Následující verze | Předchozí verze | ||
| ccpp:literals [2019/08/29 09:53] – vytvořeno bures | ccpp:literals [2020/11/20 17:37] (aktuální) – bures | ||
|---|---|---|---|
| Řádek 1: | Řádek 1: | ||
| - | ====== Literály datových typů ====== | + | ====== Literály |
| - | Zde je seznam ukázek | + | Literál představuje konkrétní hodnotu určitého datového typu ve zdrojovém kódu, kterou program během svého zpracování použije. Nejedná se o proměnnou, nebo prvek programovacího jazyka samotného. Jakmile |
| ===== Celá čísla ===== | ===== Celá čísla ===== | ||
| <code c> | <code c> | ||
| + | // Desítková soustava | ||
| int a = -42; | int a = -42; | ||
| int b = 0; | int b = 0; | ||
| int c = 10; | int c = 10; | ||
| + | |||
| + | // Osmičková soustava - začíná číslicí 0 | ||
| + | int o = 052 | ||
| + | |||
| + | // Šestnáctková soustava - začíná 0x, nebo 0X - určuje velikost znaků | ||
| + | int x = 0x2a; | ||
| + | int X = 0X2A; | ||
| + | |||
| + | // Dvojková soustava - začíná 0b | ||
| + | int b = 0b101010; | ||
| </ | </ | ||
| + | |||
| + | Literály ve dvojkové soustavě jsou podporované od //C++14//, nebo pokud je umí daný kompilátor. Například v jazyce C, to není standardní ale kompilátor GCC ho podporuje v rámci svého rozšíření. | ||
| ===== Čísla s plovoucí čárkou ===== | ===== Čísla s plovoucí čárkou ===== | ||
| <code c> | <code c> | ||
| + | // Typ float obsahuje znak f na konci | ||
| float a = 3.14159f; | float a = 3.14159f; | ||
| float b = 0.5f; | float b = 0.5f; | ||
| + | // První nulu lze vynechat | ||
| float c = .5f; | float c = .5f; | ||
| double d = 3.14159; | double d = 3.14159; | ||
| Řádek 20: | Řádek 35: | ||
| </ | </ | ||
| + | Pokud použijeme literál typu double do proměnné typu float '' | ||
| + | <code c> | ||
| + | #include < | ||
| + | |||
| + | int main() | ||
| + | { | ||
| + | float f1 = 0.67; | ||
| + | if(f1 == 0.67) | ||
| + | puts(" | ||
| + | else | ||
| + | puts(" | ||
| + | | ||
| + | float f2 = 0.67; | ||
| + | if(f2 == 0.67f) | ||
| + | puts(" | ||
| + | else | ||
| + | puts(" | ||
| + | | ||
| + | return 0; | ||
| + | } | ||
| + | </ | ||
| + | Zdroj: [[https:// | ||
| ===== Znaky ===== | ===== Znaky ===== | ||
| <code c> | <code c> | ||
| Řádek 26: | Řádek 63: | ||
| char c = ' '; // mezera | char c = ' '; // mezera | ||
| char d = ' | char d = ' | ||
| - | char e = ' | + | char e = ' |
| - | </code> | + | |
| - | + | ||
| - | ===== Řetězcové literály ===== | + | |
| - | Typicky používané ve funkcích printf/scanf | + | |
| - | <code c> | + | |
| - | "Ahoj, jak se mas?" | + | |
| - | "Jeden radek\nDruhyRadek\n" | + | |
| </ | </ | ||
| - | ==== Escape sekvence ==== | ||
| - | Pokud chceme v řetězci obsáhnout znaky, které mají speciální význam, jako třeba znak uvozovky ("), která ohraničuje řetězec. Musíme použít tzv. escape sekvenci. Dalším příkladem může být apostrof (') zapsaný jako znakový literál. | ||
| - | Escape sekvence začíná znakem zpětné lomeno (\), za kterým následuje požadovaný znak, nebo řídící sekvence. | ||
| - | === Příklady escape sekvencí | + | ===== Cvičení ===== |
| - | ^ Escape sekvence ^ význam ^ | + | * Vytvořte program, který bude vypisovat proměnné definované pomocí zde uvedených literálů. |
| - | ^ \n | nová řádka | | + | * Rozšiřte předchozí program o načítání hodnot ze vstupu a vyzkoušejte zde uvedené formáty na vstupu. |
| - | ^ \t | tabulátor | | + | |
| - | ^ \" | uvozovka uvnitř řetězce | | + | |
| - | ^ \' | apostrof jako znakový literál | | + | |
| - | ^ \\\\ | zpětné lomeno | | + | |
| + | ===== Zdroje a odkazy ===== | ||
| + | * [[https:// | ||
| + | * [[https:// | ||
| + | * [[https:// | ||
| + | * [[https:// | ||
| + | * [[https:// | ||
| + | * [[https:// | ||