Home >> C++ návod >> Proměnné

Proměnné

V předchozí lekci jsme si podrobně popsali jednoduchý program, který pouze vypisoval text na obrazovku. Jistě cítíte, že psát program, který jen vypíše text na obrazovku je holý nesmysl. Programování je úplně o něčem jiném. Snažíme se psát programy, které jsou obecným řešením nějakého problému. To znamená, že různé vstupy vyúsťují v různé výstupy. K tomu však potřebujeme tzv. proměnné a proto se jimi budeme v této lekci zabývat.

Zavedení proměnné (Deklarace)

Pojem proměnná si vysvětlíme na následujícím příkladu. Pro malé zopakování předchozí lekce, je zde program uveden kompletně. V dalších ukázkách bude vypsána již pouze hlavní funkce programu.

#include <iostream>
using namespace std;
int main()
{
  int a = 1;
  int b = 2+2;
  int vysledek = a + b;

  cout << "vysledek je: " << vysledek << endl;
  return 0;
}

Jedná se o jednoduchou matematickou operaci sčítání. V příkladu jsme deklarovali celkem 3 proměnné a to proměnné a, b a vysledek. Všechny jsou typu integer (vysvětleno níže v článku), což znamená že se jedná o proměnné, které uchovávají nějaké celočíselné hodnoty.

Podívejme se na hlavní funkci programu řádek po řádku. V prvním řádku jsme deklarovali proměnnou "a" a do této proměnné jsme uložili hodnotu 1. To stejné jsme udělali ve druhém řádku. Do proměnné "b" byla uložena hodnota 2+2, což je 4. Nyní se dostáváme ke třetímu řádku, kde deklarujeme proměnnou "vysledek". Do ní je uložena hodnota, která je rovna součtu proměnných "a" a "b", tedy 1 + 4. Na čtvrtém řádku je pouze příkaz pro vypsání hodnoty která je uložena v proměnné "vysledek".

Vypíše se tedy:

vysledek je: 5

Pravidla pro deklarovaní proměnných

V programování má všechno svá jasně stanovená pravidla. A výjimkou nejsou ani proměnné. Podívejme se nyní tedy co musíme dodržovat při deklaraci proměnných.

Název proměnné (Identifikátor)

Každá proměnná má svůj název neboli identifikátor. Ten by měl být:

  1. Unikátní - každá proměnná by měla mít jiný název.
  2. Tvořen z písmen anglické abecedy a čísel - české znaky jako ěščřž atd. nejsou povoleny. Identifikátor může obsahovat i čísla, ovšem vždy musí začínat písmenem.
  3. Bez mezer - místo mezer může byt použito podtržítko. Například: int delka_vlasu. Více podtržítek za sebou není povoleno.
Název rovněž nesmí být tvořen žádným z rezervovaných slov jakzyka C++. Jsou to slova, která reprezentují nějakou funkci. Patří sem:
asm, auto, bool, break, case, catch, char, class, const, const_cast, continue, default, delete, do, double, dynamic_cast, else, enum, explicit, export, extern, false, float, for, friend, goto, if, inline, int, long, mutable, namespace, new, operator, private, protected, public, register, reinterpret_cast, return, short, signed, sizeof, static, static_cast, struct, switch, template, this, throw, true, try, typedef, typeid, typename, union, unsigned, using, virtual, void, volatile, wchar_t, while
a slova, která nahrazují některé operátory:
and, and_eq, bitand, bitor, compl, not, not_eq, or, or_eq, xor, xor_eq
Poznámka: Jazyk C++ je tzv. case sensitive, to znamená že proměnná int A a proměnná int a jsou dvě různé proměnné!

Datový typ proměnné

Jistě jste si všimli, že před každým identifikátorem jsem psal slovo int. Toto slovo znázorňuje datový typ proměnné. Vždy když nadeklarujeme novou proměnnou, je v operační paměti počítače vytvořeno určité místo pro uložení hodnoty. Vezměme si opět datový typ int. Každá proměnná tohoto typu zabírá v paměti 1 bajt. Důležité však je, že obsahem této proměnné může být pouze celé číslo a to v rozsahu od -2147483648 do 2147483647.

Přehled datových typů

Název K čemu slouží Velikost [B] Rozsah
char K uložení jednoho libovolného znaku 1 -
string K uložení řetězce libovolných znaků (zapsáno v uvozovkách např.: jmeno="Petr") - -
bool Booleovská proměnná. Pravda=true, nepravda=false 1 true nebo false
short int K uložení čísla 2 -32768 až 32767
0 až 65535
int K uložení čísla 4 -2147483648 až 2147483647
0 až 4294967295
long int K uložení čísla 4 -2147483648 až 2147483647
0 až 4294967295
float K uložení desetinného čísla (7 desetinných míst) 4 -
double K uložení desetinného čísla (15 desetinných míst) 8 -
long double K uložení desetinného čísla (15 desetinných míst) 8 -

Ve sloupci pro rozsah jsou uvedeny 2 druhy rozsahů. Jeden sahající do záporných čísel a druhý pouze pro kladná čísla. Je to proto, pokud před datový typ proměnné napíšeme klíčové slovo unsigned je rozsah omezen pouze na kladná čísla včetně nuly. Například:

unsigned int vzdalenost;
Před tím než deklarujeme typ proměnné, by jsme si měli uvědomit k jakému účelu tato proměnná bude sloužit. je jasné, že pokud obsahem proměnné má být jméno, nebude to int a pokud to má být číslo, nebude to string.

Způsoby deklarace proměnných

Poslední věcí, kterou si v této lekci ukážeme, jsou různé způsoby jak nadeklarovat proměnné.

int a;
int b;
int c;

S tímto způsobem jsme se již v této lekci setkali. Všechny 3 proměnné jsou stejného typu, proto můžeme deklaraci zapsat také ve tvaru:

int a,b,c;

Tento zápis je podstatně jednodušší a má úplně stejný význam jako předchozí.

C++ Návod
Úvod do C++
Volba programu
Struktura programu
Proměnné
Konstanty
Operátory
Vstup a výstup
Řídící struktury
Funkce - 1.část
Funkce - 2.část
Pole
Práce s textovými řetězci
Ukazatele - 1.část
Ukazatele - 2.část
Dynamické proměnné
Datové struktury
©2008 - 2011 Klikzone.cz
Ráj aut - inzerce nových i ojetých aut