Programozás C-készítő

A koncepció az adatok típusát,

adattípus meghatározza:
- belső ábrázolás a számítógép memóriájában
- több olyan értékek, amelyek az értéke az ilyen típusú;
- műveletek és funkciók is mennyiségekre alkalmazandó az ilyen típusú.
Minden C ++ típus lehet osztani az alap és a vegyületet. A C ++, akkor meghatározott hat alapvető adattípusok ábrázolására egész számok, valós számok, karakter és logikai értékeket. Ennek alapján az ilyen típusú programozó, írja le a kompozit típusok. Ezek közé tartoznak a tömbök, felsorolások, függvények, struktúrák, linkek, pointerek, a szakszervezetek, és az osztályok.

A főbb adatok

Az alap (standard) adattípusok gyakran nevezik számtani, mert fel lehet használni számtani műveleteket. A következő kulcsszavak vannak meghatározva, hogy leírja a fő típusa van:

int (a);
char (karakter);
wchar_t (széles karakter);
bool (logikai);
float (valódi);
kettős (valós kétszeres pontosságú).

Az első négy típus nevezzük integer (egész), az utolsó két - típusú lebegőpontos. Kód, amely létrehoz egy fordítóprogram feldolgozásra egész szám eltér a kódot lebegőpontos értékeket.
Négy típusleíróval meghatározzák a belső reprezentáció és az értéktartomány standard típusok:

rövid (rövid);
hosszú (long);
aláírt (aláírva);
előjel nélküli (előjel nélküli).

int típusú mérete határozza szabványos, attól függően, hogy a számítógép és a fordító. A 16-bites processzor által az értéke az ilyen típusú 2 bájt, 32-bites - 4 bájt.
Határozza meg a pontos bájtok számát kell írni egy tesztprogram, hogy tartalmazza a működés:

A változó értéke s megegyezik a bájtok számát által elfoglalt tárgyak jelzett típusú zárójelben. Ahhoz, hogy meghatározzuk a teljes körű adattípus értékek kell használni a képlet:
Az aláírt típusok (int - aláírt típus)
az előjel nélküli (unsigned) típusok.
A név előtt rövid specifikátor típusát jelzi fordítónak, hogy köteles visszavonni számos 2 byte, függetlenül a bit processzor. Specifier hosszú azt jelenti, hogy a teljes értékű elfoglalja 4 byte. Így a 16-bites számítógép ekvivalens int és rövid int, és a 32-bites - int és long int.
A belső ábrázolása az egész típusú értéket - egész szám bináris kódot. Ha specifikátor aláírt MSB szám jeleként (0 - pozitív szám, 1 - negatív). Előjel nélküli specifikátor egyszerre csak jelentése pozitív szám, mivel az MSB részének tekintjük a kódszámot. Így a tartomány értékek int típusú függ meghatározót.
Alapértelmezés szerint az összes egész típusú minősülnek ikonikus, hogy aláírt specifikátor elhagyható.
Állandók a programban, annak tulajdonítják, hogy egy adott típusú, összhangban a véleményüket. Amennyiben az ilyen típusú, bármilyen okból, nem száj raivaet programozó, akkor egyértelműen meg kell határozni a kívánt típust a toldalék L, l (hosszú) és U, u (előjel nélküli). Például 32L állandó lesz hosszú típus, és elfoglalják 4 byte. Lehetőség van használni utótagok U és L egyidejűleg, például Ox22UL vagy 05Lu.
Típusú rövid int, long int, int aláírt, és unsigned int lehet csökkenteni egy rövid, hosszú, aláírt és aláíratlan, ill.

Karaktertípus (char).

Az érték egy karakter kap a bájtok számát, ahhoz, hogy elférjen a tizedes kódot bármilyen karaktert a karakterkészlet a számítógép számára, és ez vezetett a neve a típus. Általános szabály, hogy 1 byte. Típus char, valamint más egész típusok is alá lehet írni, vagy előjel nélküli. Az értékek tárolhatók a jel tartományba eső értéket -128 és 127 használatakor specifikátor előjel nélküli értékek 0-tól 255-ig ez elég ahhoz, hogy tárolja az összes szimbólumot a 256 karakteres ASCII készlet. A típus értékeinek char tárolására is egész számok, amelyek nem haladják meg a megadott tartományon.

Boole (bool).

Az értékek a logikai típusú vehet csak az értéket igaz és hamis, amelyeket fenntartott szavak. A belső formája ábrázolása értéke false - 0 (nulla). Bármely más érték értelmezi igaz. Amikor igaz átalakulás értéke 1 az egész típusú.

Valós típusú (float, double és long double).

C ++ szabvány meghatározza három adat tárolására valódi értékekkel: float, double és long double.
Valódi adattípusok a számítógép memóriájában tárolt eltérően egész. A belső ábrázolása egy valós szám két részből áll - a mantissza és a rend. Az IBM PC-kompatibilis számítógépek float típusú mennyiségben, hogy 4 bájt, amelyek közül az egyik bit által adott jel a mantissza, 8 bit által az eljárást és az 23 significand.
Az értékek kettős típusú elfoglaló 8 bájt, a rend és a mantissza eltávolítjuk 11 és 52 kisülési rendre. mantissza hossza határozza meg a számát pont-Ness, és a sorrendben a hossza - a tartományban.
Specifier sokáig a nevet kettős jellege arra utal, hogy a hozzárendelt érték 10 bájt.
real típusú érték tartomány által meghatározott vizsgálati program, ahol szeretné, bármilyen módon, hogy megtudja, az itt megadott értékek állandók:

FLT_MIN ... FLT_MAX - úszó tartomány
DBL_MIN ... DBL_MAX - double típus tartományban,
LDBL_MIN ... LDBL_MAX - tartomány típusú hosszú dupla.

Ezek állandók a könyvtárban és ellenőrizze, hogy csatlakoztatva van.
Lebegőpontos állandók egy alapértelmezett típusú kettős. Akkor egyértelműen meg kell határozni, hogy milyen típusú konstans keresztül utótag F, f (float) és L, egy (hosszú). Például, az állandó 2E + 6L lesz típusú hosszú kettős és 1.82f állandó - float típusú.
A szabványos ANSI értéktartománya fő típusa nincs megadva, meghatározva csak a közötti arány a méretei, például:

sizeof (float) sizeof (char)

Különböző típusú egész és valós típusok különböző hatótávolsága és pontossága adatábrázolási be annak érdekében, hogy a programozó leghatékonyabban használja a funkciót egy adott berendezés, mivel a választás, hogy milyen típusú számítások függ a sebesség és a memória kapacitás. De optimalizált számítógépek bármelyike ​​típusú program lehet, nem hordozható más platformokon, ezért általában kerülni kell attól függően, hogy az egyedi jellemzőit adattípusok.

A fentiek mellett a főbb nyelvi kifejezés void típusú, de több értéket az ilyen típusú üres. Arra használják, hogy meghatározzák azokat a funkciókat, nem térnek vissza értékek (mint függvények Pascal nevű eljárásokat, de a C nyelv eljárások nem), hogy jelezze egy üres argumentumlistában a funkciója, mint a bázis típusú pointerek és a szereposztás.