C Változó, Adattípusok, Állandók
Mi az a változó?
A változó egy azonosító, amelyet valamilyen érték tárolására használnak. A konstansok soha nem változhatnak a végrehajtás során. A változók változhatnak a program végrehajtása során, és frissíthetik a benne tárolt értékeket.
Egyetlen változó több helyen is használható egy programban. A változó nevének értelmesnek kell lennie. A változó célját kell képviselnie.
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
Egy változót először deklarálni kell, mielőtt valahol a programon belül használnák. A változó neve karakterekből, számjegyekből és aláhúzásjelből jön létre.
A következő szabályokat kell követni a változó létrehozásakor:
- A változónév csak karakterekből, számjegyekből és aláhúzásjelből állhat.
- A változó neve nem kezdődhet számmal.
- A változó neve nem tartalmazhat szóközt.
- A változó neve nem állhat kulcsszóból.
- A „C” egy kis- és nagybetűérzékeny nyelv, ami azt jelenti, hogy az „age” és az „AGE” nevű változó különbözik.
Az alábbiakban példák láthatók a 'C' program érvényes változóneveire:
height or HEIGHT _height _height1 My_name
Az alábbiakban példákat láthatunk egy „C” program érvénytelen változóneveire:
1height Hei$ght My name
Például deklarálunk egy egész változót my_variable és rendelje hozzá a 48 értéket:
int my_variable; my_variable = 48;
Egyébként deklarálhatunk és inicializálhatunk (kezdőértéket rendelhetünk) egy változót egyetlen utasításban:
int my_variable = 48;
Adattípusok
A „C” különféle adattípusokat biztosít, hogy megkönnyítse a programozó számára a megfelelő adattípus kiválasztását az alkalmazás követelményei szerint. A következő három adattípus található:
- Primitív adattípusok
- Származtatott adattípusok
- Felhasználó által definiált adattípusok
Öt elsődleges alapvető adattípus létezik,
- int az egész adatokhoz
- char karakteradatokhoz
- float lebegőpontos számokhoz
- double dupla pontosságú lebegőpontos számokhoz
- semmisnek
A tömb, függvények, mutatók, struktúrák származtatott adattípusok. A „C” nyelv a fent említett elsődleges adattípusok kibővített változatait kínálja. Mindegyik adattípus méretében és tartományában különbözik egymástól. Az alábbi táblázat az egyes adattípusok méretét és tartományát mutatja.
Adattípus | Méret bájtban | Választék |
---|---|---|
Char vagy jeles karakter | 1 | -128 a 127 |
Aláíratlan char | 1 | 0 a 255 |
int vagy aláírt int | 2 | -32768 a 32767 |
Aláíratlan int | 2 | 0 a 65535 |
Short int vagy Unsigned short int | 2 | 0 a 255 |
Aláírt rövid int | 2 | -128 a 127 |
Long int vagy Signed long int | 4 | -2147483648 a 2147483647 |
Aláíratlan hosszú int | 4 | 0 a 4294967295 |
úszik | 4 | 3.4E-38 – 3.4E+38 |
kétszeresére | 8 | 1.7E-308 – 1.7E+308 |
Hosszú dupla | 10 | 3.4E-4932 – 1.1E+4932 |
Megjegyzések: C-ben nincs logikai adattípus.
Egész adattípus
Az egész nem más, mint egy egész szám. Az egész adattípusok tartománya gépenként változik. Az egész adattípusok szabványos tartománya -32768 és 32767 között van.
Egy egész szám általában 2 bájtból áll, ami azt jelenti, hogy összesen 16 bitet fogyaszt a memóriában. Egyetlen egész érték 2 bájt memóriát foglal el. Az egész adattípus további adattípusokra oszlik, például rövid int, int és long int.
Minden adattípus tartományban különbözik, annak ellenére, hogy az egész adattípus-családhoz tartozik. A méret nem változhat az egész család egyes adattípusainál.
A short int többnyire kis számok, az int az átlagos méretű egész értékek tárolására szolgál, a long int pedig a nagy egész számok tárolására szolgál.
Amikor egész számú adattípust akarunk használni, az azonosító elé helyezzük az int karaktert, mint pl.
int age;
Itt az életkor egy egész adattípusú változó, amely egész értékek tárolására használható.
Lebegőpontos adattípus
Az egész számokhoz hasonlóan a 'C' programban is használhatunk lebegőpontos adattípusokat. A „float” kulcsszó a lebegőpontos adattípust jelöli. Lebegőpontos értéket tartalmazhat, ami azt jelenti, hogy egy számnak van törtje és tizedes része. A lebegőpontos érték egy valós szám, amely tizedesvesszőt tartalmaz. Az egész adattípus nem tárolja a decimális részt, ezért használhatunk lebegőpontokat az érték decimális részének tárolására.
Általában egy úszó legfeljebb 6 pontossági értéket tartalmazhat. Ha a float nem elegendő, akkor más adattípusokat is használhatunk, amelyekben nagy lebegőpontos értékek tárolhatók. A double és long double adattípus a valós számok 14, illetve 80 bites pontosságú tárolására szolgál.
Lebegőpontos szám használatakor a float/double/long double kulcsszót az azonosító elé kell helyezni. Az érvényes példák a következők:
float division; double BankBalance;
Karakter adattípus
A karakteradattípusok egyetlen karakterérték tárolására szolgálnak, idézőjelek között.
Egy karakteres adattípus legfeljebb 1 bájt memóriaterületet foglal el.
Példa,
Char letter;
Érvénytelen adattípus
Egy érvénytelen adattípus nem tartalmaz és nem ad vissza értéket. Leginkább a 'C' függvények meghatározására szolgál.
Példa,
void displayData()
Egy változó típusdeklarációja
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;}
output:
59 13.480000 K
Egy sorban több, azonos adattípusú változót deklarálhatunk vesszővel elválasztva. Figyelje meg a formátumspecifikátorok használatát is printf kimeneti függvény float (%f) és char (%c) és int (%d).
állandók
A konstansok olyan rögzített értékek, amelyek soha nem változnak a program végrehajtása során. Íme a különböző típusú konstansok:
Egész állandók
Az egész konstans nem más, mint egy számjegyekből vagy számokból álló érték. Ezek az értékek soha nem változnak a program végrehajtása során. Az egész konstans lehet oktális, decimális és hexadecimális.
- A decimális állandó 0 és 9 közötti számjegyeket tartalmaz, mint pl.
Example, 111, 1234
Fent találhatók az érvényes decimális állandók.
- Az oktális konstans 0-tól 7-ig terjedő számjegyeket tartalmaz, és az ilyen típusú konstansok előtt mindig 0 áll.
Example, 012, 065
Fent vannak az érvényes oktális állandók.
- A hexadecimális állandó egy 0 és 9 közötti számjegyet, valamint az AF karaktereit tartalmazza. A hexadecimális állandók előtt mindig 0X áll.
Example, 0X2, 0Xbcd
Fent találhatók az érvényes hexadecimális állandók.
Az oktális és hexadecimális egész állandókat nagyon ritkán használják a 'C'-vel történő programozás során.
Karakterállandók
Egy karakterkonstans csak egyetlen karaktert tartalmaz egyetlen idézőjelbe (”). A karakterkonstansokat is ábrázolhatjuk, ha megadjuk az ASCII értékét.
Example, 'A', '9'
A fentiekben az érvényes karakterkonstansok példái láthatók.
String állandók
A karakterlánc-konstans idézőjelekbe („”) zárt karaktersorozatot tartalmaz.
Example, "Hello", "Programming"
Ezek az érvényes karakterlánc-konstansok példái.
Valódi állandók
Mint az egész konstansok, amelyek mindig tartalmaznak egész értéket. A „C” olyan valós állandókat is biztosít, amelyek tizedesvesszőt vagy tört értéket tartalmaznak. A valós állandókat lebegőpontos állandóknak is nevezik. A valós állandó egy tizedesvesszőt és egy tört értéket tartalmaz.
Example, 202.15, 300.00
Ezek az érvényes valós állandók a 'C".
Valós állandót úgy is felírhatunk, hogy
Mantissa e Exponent
Például egy olyan érték deklarálásához, amely nem változik, mint a klasszikus PI körkonstans, kétféleképpen deklarálhatja ezt az állandót
- A const kulcsszó egy változódeklarációban, amely tárolómemóriát foglal le
- A #definálja processzor előtti direktíva, amely nem használ memóriát a tároláshoz, és nem tesz pontosvesszőt az utasítás végére
#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;}
Összegzésként
- A konstans olyan érték, amely nem változik a program végrehajtása során.
- A változó egy azonosító, amely egy érték tárolására szolgál.
- Négy általánosan használt adattípus létezik, például int, float, char és a void.
- Minden adattípus méretében és tartományában különbözik egymástól.