Co je to proměnná?
Proměnná je identifikátor, který se používá k uložení určité hodnoty. Konstanty se v době provedení nikdy nemohou změnit. Proměnné se mohou během provádění programu měnit a aktualizovat v něm uloženou hodnotu.
Jedna proměnná může být použita na více místech v programu. Název proměnné musí mít smysl. Mělo by to představovat účel proměnné.
Example: Height, age, are the meaningful variables that represent the purpose it is being used for. Height variable can be used to store a height value. Age variable can be used to store the age of a person
Proměnná musí být deklarována jako první, než bude použita někde uvnitř programu. Název proměnné je tvořen znaky, číslicemi a podtržítkem.
Následují pravidla, která je třeba dodržovat při vytváření proměnné:
- Název proměnné by měl obsahovat pouze znaky, číslice a podtržítko.
- Název proměnné by neměl začínat číslem.
- Název proměnné by neměl sestávat z mezer.
- Název proměnné by neměl sestávat z klíčového slova.
- „C“ je jazyk citlivý na velká a malá písmena, což znamená, že proměnná s názvem „age“ a „AGE“ se liší.
Následují příklady platných názvů proměnných v programu „C“:
height or HEIGHT_height_height1My_name
Následuje příklad neplatných názvů proměnných v programu „C“:
1heightHei$ghtMy name
Například deklarujeme celočíselnou proměnnou my_variable a přiřadíme jí hodnotu 48:
int my_variable;my_variable = 48;
Mimochodem, můžeme deklarovat a inicializovat (přiřadit počáteční hodnotu) proměnnou v jediném příkazu:
int my_variable = 48;
Typy dat
Písmeno „C“ poskytuje různé datové typy, které usnadňují programátorovi výběr vhodného datového typu podle požadavků aplikace. Následují tři typy dat:
- Primitivní datové typy
- Odvozené datové typy
- Uživatelem definované datové typy
Existuje pět primárních základních datových typů,
- int pro celočíselná data
- char pro znaková data
- float pro čísla s plovoucí desetinnou čárkou
- double pro čísla s plovoucí desetinnou čárkou s dvojitou přesností
- prázdnota
Pole, funkce, ukazatele, struktury jsou odvozené datové typy. Jazyk „C“ poskytuje rozšířenější verze výše zmíněných primárních datových typů. Každý datový typ se od sebe liší velikostí a rozsahem. Následující tabulka zobrazuje velikost a rozsah každého datového typu.
Datový typ | Velikost v bajtech | Rozsah |
Char nebo podepsaný char | 1 | -128 až 127 |
Nepodepsaný znak | 1 | 0 až 255 |
int nebo podepsaný int | 2 | -32768 až 32767 |
Nepodepsaný int | 2 | 0 až 65535 |
Krátký int nebo Nepodepsaný krátký int | 2 | 0 až 255 |
Podepsané krátké int | 2 | -128 až 127 |
Long int nebo Signed long int | 4 | -2147483648 až 2147483647 |
Nepodepsaný dlouhý int | 4 | 0 až 4294967295 |
plovák | 4 | 3,4E-38 až 3,4E + 38 |
dvojnásobek | 8 | 1,7E-308 až 1,7E + 308 |
Dlouhé dvojité | 10 | 3,4E-4932 až 1,1E + 4932 |
Poznámka : V jazyce C neexistuje žádný logický datový typ.
Celočíselný datový typ
Celé číslo není nic jiného než celé číslo. Rozsah pro celočíselný datový typ se u jednotlivých strojů liší. Standardní rozsah pro celočíselný datový typ je -32768 až 32767.
Celé číslo má obvykle 2 bajty, což znamená, že v paměti spotřebuje celkem 16 bitů. Jedna celočíselná hodnota zabírá 2 bajty paměti. Celočíselný datový typ se dále dělí na jiné datové typy, například short int, int a long int.
Každý datový typ se liší v rozsahu, přestože patří do celé řady datových typů. Velikost se nemusí změnit pro každý datový typ celé řady.
Krátký int se většinou používá k ukládání malých čísel, int se používá k ukládání průměrně velkých celočíselných hodnot a dlouhý int se používá k ukládání velkých celočíselných hodnot.
Kdykoli chceme použít celočíselný datový typ, máme místo int před identifikátor, jako například,
int age;
Zde je věk proměnná celočíselného datového typu, kterou lze použít k ukládání celočíselných hodnot.
Datový typ s plovoucí desetinnou čárkou
Stejně jako celá čísla můžeme v programu „C“ využít také datové typy s plovoucí desetinnou čárkou. Klíčové slovo „float“ se používá k reprezentaci datového typu s plovoucí desetinnou čárkou. Může obsahovat hodnotu s plovoucí desetinnou čárkou, což znamená, že číslo má zlomek a desetinnou část. Hodnota s plovoucí desetinnou čárkou je reálné číslo, které obsahuje desetinnou čárku. Celočíselný datový typ neukládá desítkovou část, proto můžeme k uložení desítkové části hodnoty použít plováky.
Obecně platí, že plovák může obsahovat až 6 hodnot přesnosti. Pokud float není dostatečný, můžeme využít další datové typy, které mohou obsahovat velké hodnoty s plovoucí desetinnou čárkou. Datový typ double a long double se používají k ukládání reálných čísel s přesností až na 14, respektive 80 bitů.
Při použití čísla s plovoucí desetinnou čárkou musí být před identifikátor umístěno klíčové slovo float / double / long double. Platné příklady jsou,
float division;double BankBalance;
Znakový datový typ
Znakové datové typy se používají k uložení hodnoty jednoho znaku uzavřené do jednoduchých uvozovek.
Znakový datový typ zabírá až 1 bajt paměťového prostoru.
Příklad,
Char letter;
Neplatný datový typ
Prázdný datový typ neobsahuje ani nevrací žádnou hodnotu. Většinou se používá k definování funkcí v „C“.
Příklad,
void displayData()
Deklarace typu proměnné
int main() {int x, y;float salary = 13.48;char letter = 'K';x = 25;y = 34;int z = x+y;printf("%d \n", z);printf("%f \n", salary);printf("%c \n", letter);return 0;}
Výstup:
5913.480000K
Můžeme deklarovat více proměnných se stejným datovým typem na jednom řádku jejich oddělením čárkou. Všimněte si také použití specifikátorů formátu ve výstupní funkci printf float (% f) a char (% c) a int (% d).
Konstanty
Konstanty jsou pevné hodnoty, které se nikdy nezmění během provádění programu. Následují různé typy konstant:
Celočíselné konstanty
Celočíselná konstanta není nic jiného než hodnota skládající se z číslic nebo čísel. Tyto hodnoty se během provádění programu nikdy nezmění. Celočíselné konstanty mohou být osmičkové, desítkové a šestnáctkové.
- Desetinná konstanta obsahuje číslice od 0 do 9, například,
Example, 111, 1234
Nahoře jsou platné desetinné konstanty.
- Osmičková konstanta obsahuje číslice od 0 do 7 a těmto typům konstant vždy předchází 0.
Example, 012, 065
Nahoře jsou platné desetinné konstanty.
- Hexadecimální konstanta obsahuje číslici od 0-9 i znaky z AF. Hexadecimálním konstantám vždy předchází 0X.
Example, 0X2, 0Xbcd
Nahoře jsou platné hexadecimální konstanty.
Osmičkové a šestnáctkové celočíselné konstanty se při programování pomocí „C“ používají velmi zřídka.
Konstanty znaků
Konstanta znaků obsahuje pouze jeden znak uzavřený do jedné uvozovky (''). Můžeme také představovat znakovou konstantu poskytnutím její ASCII hodnoty.
Example, 'A', '9'
Výše jsou uvedeny příklady platných konstant znaků.
Řetězcové konstanty
Řetězcová konstanta obsahuje posloupnost znaků uzavřených do uvozovek ("").
Example, "Hello", "Programming"
Toto jsou příklady platných řetězcových konstant.
Skutečné konstanty
Jako celočíselné konstanty, které vždy obsahují celočíselnou hodnotu. 'C' také poskytuje skutečné konstanty, které obsahují desetinnou čárku nebo zlomkovou hodnotu. Skutečné konstanty se také nazývají jako konstanty s plovoucí desetinnou čárkou. Skutečná konstanta obsahuje desetinnou čárku a zlomkovou hodnotu.
Example, 202.15, 300.00
Toto jsou platné skutečné konstanty v „C“.
Skutečnou konstantu lze také zapsat jako,
Mantissa e Exponent
Například pro deklaraci hodnoty, která se nemění jako klasická kruhová konstanta PI, existují dva způsoby, jak deklarovat tuto konstantu
- Použitím klíčového slova const v deklaraci proměnné, která rezervuje paměť úložiště
- Použitím direktivy #define pre-processor, která nevyužívá paměť pro ukládání a bez uvedení středníkového znaku na konec tohoto příkazu
#includeint main() {const double PI = 3.14;printf("%f", PI);//PI++; // This will generate an error as constants cannot be changedreturn 0;}
#include#define PI 3.14int main() {printf("%f", PI);return 0;}
souhrn
- Konstanta je hodnota, která se během provádění programu nemění.
- Proměnná je identifikátor, který se používá k uložení hodnoty.
- Existují čtyři běžně používané datové typy jako int, float, char a void.
- Každý datový typ se od sebe liší velikostí a rozsahem.