Předpokládám, že máte nainstalované Microsoft Visual C ++,
vše vysvětlované dále bude právě k tomuto programu.
3.0 Jednoduché datovvé typy a přiřazení
Zde jsou datové typy, které poskytuje C, C++ (zákl.)
int - celé číslo
char - znak (číslo hodnoty <0, 255>)
long int (long) - celé číslo - delší
short int (short) - celé číslo
float - reálné číslo s plovoucí desetinou čárkou
double - dvojitá přesnost
long double - větší rozsah
void - nic (doslova "prázdný", vysvětleno později)
K tomu asi nic, jen někdy dělá problémy pochopit že znak je číslo.
(je to jeho ascii hodnota, čehož se dá využít) Jo. Integery (int, char,
long a short) jsou buď se znaménkem (normálně), nebo bez znaménka :
unsigned int i;
Potom je možné do i dát jen kladná čísla. (pokud se tam dá záporné, v čísle
se oběví jeho hodnota + nejvyšší hodnota v int = 65535)
3.1 Definice proměnných
Proměnná je něco, kam si můžete uložit nějakou hodnotu.
V C se proměnné definují takto :
int i, j; // 2 proměnné typu int
char c, ch; // 2 proměnné typu char
float f; // 1 proměnná typu float
|
Rozsah platnosti proměnných
int i; // Globální proměnná
main() // funkce main - zde začíná program
{ // Začátek bloku funkce
int j; // Lokální proměnná
} // Konec bloku
|
Funkce main() je pro C-čko specifická. Tam vždycky začíná program (tudíž tam
musí vždycky být.) Co znamená globální a lokální si vysvětlíme později, pokud
to někomu nedošlo.
3.2 Přiřazení
Terminologie :
Česky |
Anglicky |
C-čko |
výraz | expression | i * 2 + 3 |
l-hodnota | l-value | j |
přiřazení | assigment | j = i * 2 + 3 |
příkaz | statement | j = i * 2 + 3; |
(na konci každého příkazu musí být středník ;)
pokud věc nalevo od rovnítka není l-hodnota, při překládání se vyskytne chyba !
Příklad :
j = 5;
d = 'y'; // Char, d = "y"; by byla chyba !!!
f = f + 3.14 * i;
i = j = k = l = 2; // Několikanásobné přiřazení
i + 2 = 7; // je chyba - není l-hodnota
|
Pozor :
Přiřazení je "=" , ale porovnávání je "=="
Záporné konstanty
jsou uvozeny znakem - ( -56, -2, -5.74 ...)
Hexadecimální konstanty
jsou uvozeny 0x - (0x0a, 0xFF, 0x1C, 0x5d ...)
Znakové konstanty
V c-čku je taková pomůcka, které se říká "escape sekvence". Vypadá to takhle :
Sekvence | Hodnota | Význam |
\n | 0x0A | Nová řádka (LF) |
\r | 0x0D | Návrat na začátek řádky (CR) - není nutné |
\f | 0x0C | Nová stránka (FF) |
\t | 0x09 | Tabulátor (Tab) |
\b | 0x08 | Posun doleva (BKSP) |
\a | 0x07 | Písknutí (Allert) |
\\ | 0x5C | Zpětné lomítko |
\' | 0x2C | Apostrof |
\0 | 0x00 | Nulový znak |
\" | 0x-- | Úvozovky |
Použití : "Tu je nový \nřádek !"
3.3 Řetězcové konstanty
Jsou uzavřeny v úvozovkách, může být čeština např.:
"Toto je ukázka"
"Toto je velice moc dlouhý řetězec."
"Toto je " "velice moc " "dlouhý řetězec."
"Toto je " "velice moc "
"dlouhý řetězec, který se nevejde na řádku"
|
Takže když se něco nevejde na řádek, dáte prostě úvozovky
a pokračujete na dalším. V C-čku není potřeba nic jako v basicu znak "_"
3.4 Aritmetické příkazy
Je nutné si uvědomit, že výraz ukončený středníkem se
stává příkazem :
i = 2 výraz s přiřazením
i = 2; příkaz
3.5 Unární operátory
Jsou to unární + a - (kladná/záporná h.)
3.6 Binární operátory
To jsou operátory, pracující se dvěma členy :
Význam | C / C ++ |
Sčítání | + |
Odčítání | - |
Násobení | * |
Dělení | / |
Celočís. Dělení | / |
Dělení modulo (zbytek po dělení) | % |
Poznámka :
To, jestli bude operace reálná, nebo celočíselná
určují typy operandů (dělitel/dělenec)
int / int - celočíselné dělení (výsledek se zaokrouhlí dolů)
float / float - reálné dělení
float / int - reálné dělení
int / float - reálné dělení
(místo float může být double, místo int long ...)
3.7 Speciální unární operátory
inkrement ++ (zvětšení o 1)
dekrement -- (zmenšení o 1)
Použití :
++ l_hodnota
- inkrementace před použitím
l_hodnota ++
- inkrementace po použití
Musí být l_hodnota :
45 ++ je chyba
(i + j) ++ je chyba
Příklad :
int c, d, e;
c = 1; // dá do c jedničku
c = c + 1; // přičte jedničku - teď je tam dvojka
c ++; // to je to samý, ale kratší. teď je tam trojka
e = c ++; // e = c (v éčku je trojka) c ++ (v céčku bude čtyřka)
d = c; // do déčka se dá čtyřka
e = ++ c; // c ++ (v céčku bude pětka), do éčka se dá pětka (ne čtyřka !)
|
3.8 Přiřazovací operátory
Místo přiřazení :
l-hodnota = l-hodnota operátor výraz
Se velmi často používá :
l-hodnota operátor= výraz
Seznam :
+=, -=, *=, /=, %=, <<=, >>=, &=, ^=, |=
Operátory jako >>, & .. budou vysvětleny dál
Příklad :
int i;
i = 1; // dá do c jedničku
i += i; // přičte jedničku - teď je tam dvojka
i *= 5; // vynásobí íčko pětkou - bude tam desítka
|
No, a pro dnešek konec. Připravte si kompilátory, příště už budeme psát !