C proměnná, datové typy, konstanty
Co je proměnná?
Proměnná je identifikátor, který se používá k uložení nějaké hodnoty. Konstanty se v době provádění nikdy nemohou změnit. Proměnné se mohou během provádění programu měnit a aktualizovat hodnotu v něm uloženou.
Jedna proměnná může být použita na více místech v programu. Název proměnné musí být smysluplný. Mělo by 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 nejprve deklarována, než se někde uvnitř programu použije. Název proměnné se tvoří pomocí znaků, číslic a podtržítka.
Níže jsou uvedena pravidla, která je třeba dodržovat při vytváření proměnné:
- Název proměnné by se měl skládat pouze ze znaků, číslic a podtržítka.
- Název proměnné by neměl začínat číslem.
- Název proměnné by neměl obsahovat mezery.
- Název proměnné by se neměl skládat z klíčového slova.
- 'C' je jazyk citlivý na velká a malá písmena, což znamená, že proměnné s názvem 'věk' a 'AGE' se liší.
Níže jsou uvedeny příklady platných názvů proměnných v programu 'C':
height or HEIGHT _height _height1 My_name
Níže jsou uvedeny příklady neplatných názvů proměnných v programu 'C':
1height Hei$ght My name
Například deklarujeme celočíselnou proměnnou moje_proměnná a přiřaďte mu hodnotu 48:
int my_variable; my_variable = 48;
Mimochodem, proměnnou můžeme deklarovat i inicializovat (přiřadit počáteční hodnotu) v jediném příkazu:
int my_variable = 48;
Typy dat
'C' poskytuje různé datové typy, aby programátor mohl snadno vybrat vhodný datový typ podle požadavků aplikace. Níže jsou uvedeny tři typy dat:
- Primitivní datové typy
- Odvozené datové typy
- Uživatelsky 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 pohyblivou řádovou čárkou
- double pro čísla s plovoucí desetinnou čárkou s dvojnásobnou přesností
- zrušit
Pole, funkce, ukazatele, struktury jsou odvozené datové typy. Jazyk 'C' poskytuje rozšířenější verze výše uvedený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 |
---|---|---|
Znak nebo podepsaný znak | 1 | -128 na 127 |
Nepodepsaný znak | 1 | 0 255 na |
int nebo podepsal int | 2 | -32768 na 32767 |
Nepodepsaný int | 2 | 0 65535 na |
Short int nebo Unsigned short int | 2 | 0 255 na |
Podepsáno krátké int | 2 | -128 na 127 |
Long int nebo Signed long int | 4 | -2147483648 na 2147483647 |
Unsigned long int | 4 | 0 4294967295 na |
vznášet se | 4 | 3.4E-38 až 3.4E+38 |
zdvojnásobit | 8 | 1.7E-308 až 1.7E+308 |
Dlouhá dvojitá | 10 | 3.4E-4932 až 1.1E+4932 |
Hodnocení: V C neexistuje žádný booleovský datový typ.
Integer datový typ
Celé číslo není nic jiného než celé číslo. Rozsah pro celočíselný datový typ se liší stroj od stroje. Standardní rozsah pro celočíselný datový typ je -32768 až 32767.
Celé číslo má obvykle 2 bajty, což znamená, že spotřebuje celkem 16 bitů v paměti. Jedna celočíselná hodnota zabírá 2 bajty paměti. Celočíselný datový typ se dále dělí na další datové typy, jako je short int, int a long int.
Každý datový typ se liší rozsahem, i když patří do rodiny celočíselných datových typů. Velikost se nemusí měnit pro každý typ dat celočíselné rodiny.
Short int se většinou používá pro ukládání malých čísel, int se používá pro ukládání průměrně velkých celočíselných hodnot a long int se používá pro ukládání velkých celočíselných hodnot.
Kdykoli chceme použít celočíselný datový typ, musíme před identifikátor umístit int, např.
int age;
Věk je zde proměnná celočíselného datového typu, kterou lze použít k uložení celočíselných hodnot.
Datový typ s pohyblivou řádovou čárkou
Stejně jako celá čísla můžeme v programu 'C' používat také datové typy s plovoucí desetinnou čárkou. Klíčové slovo 'float' se používá k reprezentaci datového typu s pohyblivou řádovou čá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. Datový typ Integer neukládá desetinnou část, takže k uložení desetinné části hodnoty můžeme použít float.
Obecně může plovák obsahovat až 6 hodnot přesnosti. Pokud float nestačí, můžeme použít jiné datové typy, které mohou obsahovat velké hodnoty s pohyblivou řádovou čárkou. Datový typ double a long double se používají k ukládání reálných čísel s přesností až 14 a 80 bitů.
Při použití čísla s pohyblivou řádovou čárkou musí být klíčové slovo float/double/long double umístěno před identifikátor. Platné příklady jsou,
float division; double BankBalance;
Typ dat znaku
Znakové datové typy se používají k uložení hodnoty jednoho znaku uzavřeného v jednoduchých uvozovkách.
Znakový datový typ zabírá až 1 bajt paměťového prostoru.
Příklad,
Char letter;
Neplatný datový typ
Datový typ void neobsahuje ani nevrací žádnou hodnotu. Většinou se používá pro 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:
59 13.480000 K
Můžeme deklarovat více proměnných se stejným datovým typem na jednom řádku tak, že je oddělíme čárkou. Všimněte si také použití specifikátorů formátu v printf výstupní funkce float (%f) a char (%c) a int (%d).
Konstanty
Konstanty jsou pevné hodnoty, které se během provádění programu nikdy nemění. Níže jsou uvedeny různé typy konstant:
Celočíselné konstanty
Celočíselná konstanta není nic jiného než hodnota sestávající z číslic nebo čísel. Tyto hodnoty se během provádění programu nikdy nemění. Celočíselné konstanty mohou být osmičkové, desítkové a šestnáctkové.
- Desetinná konstanta obsahuje číslice od 0 do 9, např.
Example, 111, 1234
Výš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í nula.
Example, 012, 065
Výše jsou platné osmičkové konstanty.
- Hexadecimální konstanta obsahuje číslici od 0 do 9 a také znaky z AF. Hexadecimálním konstantám vždy předchází 0X.
Example, 0X2, 0Xbcd
Výše jsou platné hexadecimální konstanty.
Osmičkové a hexadecimální celočíselné konstanty se při programování s 'C' používají velmi zřídka.
Charakterové konstanty
Znaková konstanta obsahuje pouze jeden znak uzavřený do jediné uvozovky (”). Znakovou konstantu můžeme také reprezentovat poskytnutím její hodnoty ASCII.
Example, 'A', '9'
Výše jsou uvedeny příklady platných znakových konstant.
Řetězcové konstanty
Řetězcová konstanta obsahuje posloupnost znaků uzavřených do dvojitých 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 reálné konstanty, které obsahují desetinnou čárku nebo hodnotu zlomku. Skutečné konstanty se také nazývají konstanty s pohyblivou řádovou čárkou. Reálná 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é napsat jako,
Mantissa e Exponent
Chcete-li například deklarovat hodnotu, která se nemění jako klasická kruhová konstanta PI, existují dva způsoby, jak tuto konstantu deklarovat
- Pomocí const klíčové slovo v deklaraci proměnné, které vyhradí úložnou paměť
- Pomocí #define direktiva preprocesoru, která nepoužívá paměť pro ukládání a bez uvedení středníku na konec tohoto příkazu
#include <stdio.h> int main() { const double PI = 3.14; printf("%f", PI); //PI++; // This will generate an error as constants cannot be changed return 0;}
#include <stdio.h> #define PI 3.14 int main() { printf("%f", PI); return 0;}
Shrnutí
- 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 je int, float, char a void.
- Každý datový typ se od sebe liší velikostí a rozsahem.