datov typy
Download
Skip this Video
Download Presentation
Datové typy

Loading in 2 Seconds...

play fullscreen
1 / 29

Datové typy - PowerPoint PPT Presentation


  • 217 Views
  • Uploaded on

Verze 2009.01. Datové typy. 6. A1PRG - Programování – Seminář Ing. Michal Heczko [email protected] Agenda. Co je to „Datový typ“ Celočíselné datové typy Racionální datové typy Prázdný typ (void) Typ definovaný uživatelem (typedef) Výčtový typ (enum) Struktury. Datové typy.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' Datové typy' - jenski


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
datov typy

Verze 2009.01

Datové typy

6

A1PRG - Programování – Seminář

Ing. Michal Heczko [email protected]

agenda
Agenda
  • Co je to „Datový typ“
  • Celočíselné datové typy
  • Racionální datové typy
  • Prázdný typ (void)
  • Typ definovaný uživatelem (typedef)
  • Výčtový typ (enum)
  • Struktury
datov typy1
Datové typy
  • Pro uchovávání uživatelských hodnot, výsledků výpočtů a dalších hodnot používáme proměnné.
  • Pro každou proměnnou je nutné definovat datový typ:
    • Definuje jaká hodnota bude uložena v dané proměnné
    • Definuje velikost paměti, která je proměnné vyhrazena.
celo seln datov typy
Celočíselné datové typy
  • Rozdělení
    • Znaménkové (klíčové slovo signed)
      • Kladná a záporná čísla
    • Neznaménkové (klíčové slovo unsigned)
      • Pouze kladná čísla a 0
celo seln datov typy1
Celočíselné datové typy
  • Způsob uložení neznaménkových čísel v paměti:
  • Př. Uložení čísla 131
celo seln datov typy2
Celočíselné datové typy
  • Způsob uložení znaménkových čísel v paměti
  • Př. Uložení čísla 131
  • Př. Uložení čísla -131
celo seln datov typy3
Celočíselné datové typy

Pozn.: Datový typ long long int zavádí až norma C99

celo seln datov typy4
Celočíselné datové typy

Pozn.: Datový typ long long int zavádí až norma C99

celo seln datov typy5
Celočíselné datové typy
  • Klíčové slovo unsigned značí použití čísla bez znaménka, signed se znaménkem. Pokud není uvedeno, je číslo definované jako číslo se znaménkem.
  • Velikosti v bitech a rozsahy jsou pouze orientační. U některých překladačů se mohou tyto hodnoty lišit.
celo seln datov typy6
Celočíselné datové typy
  • Datový typ long long:
    • Specifikován v normě C99
    • Pro vstup a výstup na terminál – %LLd (nebo %lld):

long long x;

scanf(“%LLd”,&x);

printf (“%LLd”,x);

celo seln datov typy7
Celočíselné datové typy

Ukázka 1

Rozsahy datových typů

racion ln datov typy1
Racionální datové typy
  • Někdy označovány i názvem „Reálné datové typy“, ten však není zcela přesný.
  • Velikosti v bitech a rozsahy jsou pouze orientační. U některých překladačů se mohou tyto hodnoty lišit.
racion ln datov typy2
Racionální datové typy
  • V paměti uloženy v souladu s normou IEEE 754.
  • Float (racionální číslo v jednoduché přesnosti):
    • Nejvyšší bit – znaménko (0 = kladné; 1 = záporné číslo)
    • Exponent – 8 bitů – exponent (pro 2e) posunutý o hodnotu 127 (tak, aby mohl být v rozsahu od -126 do 127).
    • Mantisa – 23 bitů – od nejvyššího bitu (2-1, 2-2, 2-3, … 2-22. 2-23)
racion ln datov typy3
Racionální datové typy
  • Double (racionální číslo s dvojitou přesnosti):
    • Nejvyšší bit – znaménko (0 = kladné; 1 = záporné číslo)
    • Exponent – 11 bitů – exponent (pro 2e) posunutý o hodnotu 1023 (tak, aby mohl být v rozsahu od -1022 do 1023).
    • Mantisa – 52 bitů – od nejvyššího bitu (2-1, 2-2, 2-3, … 2-52. 2-53)
pr zdn typ
Prázdný typ
  • Klíčové slovo void
  • Nenabývá žádných hodnot
  • Použití:
    • Pokud funkce nemá žádné vstupní parametry:

int soucet(void)

{

int a, b;

scanf("%d %d",&a,&b);

return (a+b);

}

pr zdn typ1
Prázdný typ
  • Pokud funkce nemá žádnou návratovou hodnotu:

void pozdrav(void)

{

printf(„AHOJ!\n");

}

typ definovan u ivatelem
Typ definovaný uživatelem
  • Klíčové slovo typedef
  • Umožňuje vytvářet vlastní datové typy – vytvoří nové jméno pro již existující datový typ.
  • Př.

typedef unsigned int delka;

delka a, b;

a = 5;

v tov typ
Výčtový typ
  • Klíčové slovo enum
  • Použití v případě, že existuje předem definovaná konečná množina hodnot, kterých může údaj nabývat.
  • Při definici výčtového typu je nutné uvést všechny hodnoty.
v tov typ1
Výčtový typ
  • Obecná syntaxe:

typedef enum {HODNOTA1, HODNOTA2, … , HODNOTAN} JMENO;

  • Příklad:

typedef enum {PONDELI, UTERY, STREDA, CTVRTEK, PATEK, SOBOTA, NEDELE} DNY;

v tov typ2
Výčtový typ
  • Použití:

typedef enum {PONDELI, UTERY, STREDA, CTVRTEK, PATEK, SOBOTA, NEDELE} DNY;

DNY d1;

d1 = UTERY;

if (d1 == UTERY) printf("Dnes je utery!");

celo seln datov typy8
Celočíselné datové typy

Ukázka 2

Výčtový typ

struktury
Struktury
  • Struktura
    • Skupina proměnných, které mohou být různého datového typu. Tyto proměnné jsou seskupeny pod jeden identifikátor.
    • Příklad použití:
      • Definice bodu v rovině.
        • Bod tvoří 2 souřadnice – x, y
      • Údaje o zaměstnanci
        • Každý zaměstnanec je popsán množinou atributů (jméno, adresa, rodné číslo, …)
struktury1
Struktury
  • Definice struktury:

struct <nazev> {

<promenna1>;

<promenna2>;

…;

<promennaN>;

};

  • Příklad:

struct bod{

int x;

int y;

};

struktury2
Struktury
  • Inicializace struktury:

struct <nazevstruktury> <identifikator> = { <hodnota1>, <hodnota2>, …, <hodnotaN>};

  • Příklad:

struct bod A = {3, 2};

struktury3
Struktury
  • Přístup k jednotlivým prvkům struktur:

<nazevstruktury>.<promenna> = <hodnota>;

  • Příklad:

struct bod A = { 3, 2};

A.x = 5;

A.y = 6;

definice struktury pomoc typedef
Definice struktury pomocí typedef
  • Druhá možnost definice struktury:

typedef struct {

int x;

int y;

} bod;

  • Umožní definovat proměnnou bez klíčového slova struct:

bod A;

  • Nebo s inicializací:

bod A = {0,0};

celo seln datov typy9
Celočíselné datové typy

Ukázka 3

Struktury

a1prg s 06 datov typy
A1PRG-s 06. Datové typy

Děkuji za pozornost

Ing. Michal Heczko

[email protected]

218/U3

Prezentace k dispozici na http://vyuka.fai.utb.cz

ad