Proměnné
Proměnnou rozumíme místo v paměti, kde je uložená hodnota, s kterou v programu pracujeme. Hodnota se v průběhu programu může měnit. Každá proměnná má svůj název (identifikátor).
Při vytváření názvu proměnné je nutné dodržet následující pravidla:
- můžeme použít písmena anglické abecedy, číslice a podtržítko (žádné další znaky)
- číslice nesmí být prvním znakem
- název se nesmí shodovat s klíčovým slovem
- rozlišuje se velikost písmen (case-sensitive)
- může být omezena délka názvu. ANSI C rozlišuje prvních 31 znaků, což je pro většinu programátorů dostačující.
Datový typ
Jazyk C je přísně typový jazyk, každá hodnota a proměnná má určený datový typ, t.j. zjednodušeně řečeno, zda se jedná o celé číslo, reálné číslo, znak nebo nějaký další typ.
Datový typ určuje:
- množinu přípustných hodnot (např. celá čísla z určeného intervalu)
- množinu definovaných operací (např. pro znaky jsou definovány jiné operace než pro čísla)
Přehled jednoduchých datových typů v jazyce C:
Datový typ | Popis | Počet bytů | Rozsah |
Celočíselné | |||
---|---|---|---|
char | znak | 1 | 0 - 255 |
short int | krátké celé číslo | 2 | -32 768 - 32 767 |
int | celé číslo | 4 | -2 147 483 648 - 2 147 483 647 |
long int | dlouhé celé číslo | 4 | -2 147 483 648 - 2 147 483 647 |
Reálné | |||
float | reálné číslo s jednoduchou přesností | 4 | 3,4*10-38 - 3,4*1038 |
double | reálné číslo s dvojitou přesností | 8 | 1,7*10-308 - 1,7*10308 |
long double | reálné číslo se zvýšenou přesností | 10 | 3,4*10-493 - 1,1*10493 |
Neurčitý datový typ void |
Celočíselné datové typy můžou být ještě se znaménkem (signed) nebo neznaménkové (unsigned). Implicitní nastavení pro celá čísla je signed (neplatí pro char).
Poznámka: velikost v bytech a rozsah hodnot datového typu jsou orientační, můžou se podle prostředí lišit.
Deklarace proměnné
Pokud chceme nějakou proměnnou použít, musíme ji nejdříve deklarovat. Deklarace proměnné udává její název a datový typ. Je vhodné uvádět deklarace na začátku bloku příkazů. (Blok příkazů je posloupnost příkazů uzavřená v { }).
Příklady deklarace proměnných uvádějí různé možnosti, jak deklarovat proměnnou. Proměnná, která při deklaraci není inicializována t.j. nemá zároveň nastavenou hodnotu, obsahuje náhodnou hodnotu.
int x = 1, y; //celociselna promenna x s nastavenou hodnotou 1
//celociselna promenna y s neurčenou hodnotou
char posl_znak = '*'; //promenna posl_znak typu char (pro znaky)
float cislo1, cislo2 = 0.0; //dve realne promenne cislo1 a cislo2
//promenna cislo2 nastavena na 0, pouzivame desetinnou tecku
Klíčová slova
Jde o slova, která mají v jazyce C speciální význam. Nemůžeme je proto používat např. jako názvy proměnných. Klíčová slova píšeme vždy malými písmeny.
Seznam klíčových slov v jazyce C je přesně určený, je ale poměrně rozsáhlý, proto si uvedeme jenom několik klíčových slov jako příklad: int float char return if else case for while default ..... V dalších kapitolách si postupně vysvětlíme jejich použití.
Přiřazovací příkaz
Pokud chceme do proměnné uložit (přiřadit) nějaký údaj, použijeme k tomu operátor = (rovná se). Proměnná, jejíž hodnotu nastavujeme, je vždy na levé straně přiřazovacího příkazu. Na pravé straně je výraz, výsledkem kterého je požadovaná hodnota. Obecně se tedy nejdříve vypočítá hodnota z pravé strany a výsledek vkládáme do proměnné na levé straně přiřazovacího příkazu.
// příklady přiřazení
x = 7;
y = 5.5;
a = 2*(x + y);
// příkazy pro záměnu hodnot 2 proměnných použitím pomocné proměnné
a = 2; // nastavení hodnoty proměnné a
b = 5; // nastavení hodnoty proměnné b
pom = a; // "odložení" hodnoty a do pomocné proměnné
a = b; // vložení hodnoty proměnné b(5) do proměnné a
b = pom; // vložení hodnoty proměnné pom(2) do proměnné b
Konstanty
Konstantou rozumíme jakoukoliv konkrétní hodnotu, zapsanou ve zdrojovém kódě. Stručně si popíšeme pravidla, jak do programu zapsat celé číslo, reálné číslo, znak nebo text.
celočíselné konstanty - zapisujeme jako běžné desítkové číslo, nesmí začínat nulou: 322, -8, 0
reálné konstanty - zapisujeme nejčastěji jako číslo s desetinnou tečkou: -1.55, 3.00 nebo v tzv. semilogaritmickém tvaru:5e-3, 2.8E10
znakové konstanty - jsou vždy v apostrofech: 'a', '*', 'X'. Můžeme je taky zapsat jako escape sekvenci, používá se u řídících znaků nebo např. u znaků, které nejsou na klávesnici, ale známe jejich kód: '\n', '\t', '\xc9'
řetězcové konstanty - neboli textové konstanty, píšeme je vždy v uvozovkách: "Ukázka textové konstanty"
Poznámka: Jazyk C používá ještě tzv. symbolické konstanty. Jedná se o pojmenované hodnoty, které nechceme za běhu programu měnit. Ty se dají nastavit použitím klíčového slova const nebo direktivou define.
// příklady symbolických konstant
#define MAX_POCET 30 //zapisujeme před funkci main()
const float PI = 3.14159; //zapisujeme do programu u ostatních deklarací
Další informace o symbolických konstantách najdete v části Preprocesor.