Datov typy
Download
1 / 29

Datové typy - PowerPoint PPT Presentation


  • 215 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