Prezentace se nahrává, počkejte prosím

Prezentace se nahrává, počkejte prosím

Datové typy v jazyce C Datové typy void skalární aritmetické

Podobné prezentace


Prezentace na téma: "Datové typy v jazyce C Datové typy void skalární aritmetické"— Transkript prezentace:

1 Datové typy v jazyce C Datové typy void skalární aritmetické
integrální celočíselné znakový výčtový reálné ukazatel funkce union agregované pole struktura 14/06/2018

2 Celočíselné typy (1) Reprezentují konečnou souvislou podmno-žinu celých čísel Operátory, které s celočíselnými operandy poskytují celočíselné výsledky: + sčítání – odčítání * násobení / celočíselné dělení % zbytek po celočíselném dělení Operandy celočíselných typů je také možné porovnávat pomocí relačních operátorů 14/06/2018

3 Celočíselné typy (2) Lze rozdělit na: Poznámka:
typy se znaménkem (signed): zahrnují kladné i záporné hodnoty (včetně hodnoty nula) hodnoty těchto typů jsou v rozmezí –2n–1 až 2n–1 –1 typy bez znaménka (unsigned): zahrnují pouze nezáporné hodnoty hodnoty těchto typů jsou v rozmezí 0 až 2n –1 Poznámka: n označuje počet bitů, na nichž jsou celočíselné hodnoty daných typů uloženy v operační paměti 14/06/2018

4 Celočíselné typy se znaménkem (1)
V jazyce C jsou k dispozici čtyři rozsahy celočíselného typu se znaménkem: short int long long long (až ve Standard C99) Každý typ může být pojmenovaný několika ekvivalentními způsoby: short: short int, signed short, signed short int 14/06/2018

5 Celočíselné typy se znaménkem (2)
int: signed int, signed long: long int, signed long, signed long int long long: long long int, signed long long, signed long long int Jazyk C neurčuje nijak rozsah celých čísel, kte-rý lze jednotlivými typy reprezentovat Poznámka: velikost paměti (počet bytů) potřebnou k uložení hodnot jednotlivých typů lze zjistit pomocí ope-rátoru sizeof 14/06/2018

6 Celočíselné typy se znaménkem (3)
Musí být však splněno: rozsah typu int nesmí být menší než rozsah short rozsah typu long nesmí být menší než rozsah typu int rozsah typu long long nesmí být menší než rozsah typu long Tj.: sizeof(short)  sizeof(int)   sizeof(long)  sizeof(long long) 14/06/2018

7 Celočíselné typy se znaménkem (4)
Rozsahy celočíselných typů jsou dokumen-továny pomocí pojmenovaných konstant v hlavičkovém souboru limits.h Jméno Hodnota Význam SHRT_MIN –32768 Min. hodnota pro short SHRT_MAX 32767 Max. hodnota pro short INT_MIN Min. hodnota pro int INT_MAX Max. hodnota pro int LONG_MIN Min. hodnota pro long LONG_MAX Max. hodnota pro long LLONG_MIN –263 Min. hodnota pro long long LLONG_MAX 263–1 Max. hodnota pro long long 14/06/2018

8 Celočíselné typy bez znaménka (1)
Pro každý celočíselný typ se znaménkem existuje odpovídající typ bez znaménka, jehož hodnoty jsou uloženy na stejně vel-kém paměťovém místě Je specifikován klíčovým slovem unsigned: unsigned short int unsigned int unsigned long int unsigned long long int (až v C99) 14/06/2018

9 Celočíselné typy bez znaménka (2)
Poznámka: klíčové slovo int je volitelné a může být vy-necháno pro rozsahy jednotlivých celočíselných typů bez znaménka platí podobná pravidla jako u celočíselných typů se znaménkem: sizeof(unsigned short)   sizeof(unsigned int)   sizeof(unsigned long)   sizeof(unsigned long long) 14/06/2018

10 Celočíselné typy bez znaménka (3)
Pojmenované konstanty udávající rozsahy celočíselných typů bez znaménka v hlavič-kovém souboru limits.h Jméno Hodnota Význam USHRT_MAX 65535 Max. hodnota pro unsigned short UINT_MAX Max. hodnota pro unsigned int ULONG_MAX Max. hodnota unsigned long 264–1 Max. hodnota pro unsigned long long ULLONG_MAX 14/06/2018

11 Poznámka – vstup/výstup (1)
Při zobrazování hodnot celočíselných typů pomocí funkce printf je zapotřebí ve formátovací značce uvést modifikátor délky: h argument má být vypsán jako číslo typu short nebo unsigned short l argument má být vypsán jako číslo typu long nebo unsigned long ll argument má být vypsán jako číslo typu long long nebo unsigned long long 14/06/2018

12 Poznámka – vstup/výstup (2)
Volba mezi signed a unsigned je dána následným použitím specifikátoru: hd, hi short ld, li long lld, lli long long ho, hu, hx, hX unsigned short lo, lu, lx, lX unsigned long llo, llu, llx, llX unsigned long long Stejná pravidla platí pro načítání hodnot po-mocí funkce scanf (vyjma specifikátoru X) 14/06/2018


Stáhnout ppt "Datové typy v jazyce C Datové typy void skalární aritmetické"

Podobné prezentace


Reklamy Google