Jazyk C - dátové typy, premenné

Z Kiwiki
Skočit na navigaci Skočit na vyhledávání



Dátove Typy

Typy údajov v jazyku C označujú rozsiahly systém, ich typ premenných sa určuje pri deklaracií a následne sa nedá meniť. Typ premennej určuje, koľko miesta zaberá v úložisku a ako sa interpretuje uložený bitový vzor.

Základné dátové typy

[1]

Dátovy typ Pamäť Velkosť
char 1 byte od 128 do 127 alebo od 0 do 255
unsigned char 1 byte od -127 do 128
signed char 1 byte od 0 do 255
short int 2 byte od -32 768 do 32 767
unsigned short int 2 byte od 0 do 62535
unsigned int 4 byte od 0 do 4 294 967 295
int 4 byte od -2 147 483 648

do 2 147 483 647

long int 4 byte od -2 147 483 648

do 2 147 483 64

unsigned long int 4 byte od 0 po 4 294 967 295
long long int 8 byte od -(2^63) do (2^63)-1
unsigned long long int 8 byte od 0 do 18,446,744,073,709,551,615
float 4 byte od 1.12 x 10^-38 do 3.4 x 10^38
double 8 byte od 2.3 x 10^-308 do 1.8 x 10^308
long double 12 byte od 3.4 x 10^-4932 do 1.1 x 10^4932


Integer

Integer sú celé čísla, ktoré neobsahujú zlomkovú zložku, na rozdiel od reálnych čísel (pohyblivá čiarka, v C-reči). V programovacom jazyku C sa znakové dáta považujú za celočíselný typ údajov.

 1 #include <stdio.h> 
 2 
 3 //súčet 3 čísel
 4 int main()
 5 {
 6 int a,b,c,sucet;
 7 scanf("%d %d %d",a,b,c);
 8 sucet=a+b+c;
 9 printf("%d",sucet);
10 
11 return 0;
12 }


Char

Char(znak) je najzákladnejší typ údajov v C. Ukladá jeden znak a vyžaduje jediný bajt pamäte takmer vo všetkých kompilátoroch.Typ znaku je však celé číslo, pretože pod písmenom C sú uložené celé čísla namiesto znakov.

Aby počítač mohol reprezentovať znaky, musí mapovať každé celé číslo zodpovedajúcim znakom pomocou číselného kódu. Najbežnejším číselným kódom je ASCII, čo znamená americký štandardný kód pre výmenu informácií. Nasledujúca tabuľka ilustruje kód ASCII:


'ASCII Tabuľka Hodnoty a význam znakov ASCII tabuľky od 32 po 127

Kód Znak Kód Znak Kód Znak Kód Znak Kód Znak Kód Znak Kód Znak Kód Znak
32 44 , 56 8 68 D 80 P 92 \ 104 h 116 t
33 ! 45 - 57 9 69 E 81 Q 93 ] 105 i 117 u
34 " 46 . 58 : 70 F 82 R 94 ^ 106 j 118 v
35 # 47 / 59 ; 71 G 83 S 95 _ 107 k 119 w
36 $ 48 0 60 < 72 H 84 T 96 ` 108 l 120 x
37 % 49 1 61 = 73 I 85 U 97 a 109 m 121 y
38 & 50 2 62 > 74 J 86 V 98 b 110 n 122 z
39 ´ 51 3 63 ? 75 K 87 W 99 c 111 o 123 {
40 ( 52 4 64 @ 76 L 88 X 100 d 112 p 124
41 ) 53 5 65 A 77 M 89 Y 101 e 113 q 125 }
42 * 54 6 66 B 78 N 90 Z 102 f 114 r 126 ~
43 + 55 7 67 C 79 O 91 [ 103 g 115 s 127 DEL



Zobrazenie char v jazyku C

Ak chcete získať znaky v jazyku C, použite funkciu printf () s% c. Ak použijete % d, namiesto znaku získate celé číslo. Nasledujúci príklad ukazuje, ako zobraziť znaky v C[2]

 1 #include <stdio.h>
 2 #include <stdlib.h>
 3  
 4 int main()
 5 {
 6     char ch = 'A';
 7     printf("ch = %c\n",ch);
 8     printf("ch = %d, prevod na integer\n",ch);
 9  
10     return 0;
11 }

Float

Float sa používa na ukladanie desatinných čísel (čísla s hodnotou s desatinnou čiarkou) s presnosťou na 7 desatinných miest. Podľa definície je to základný dátový typ zabudovaný do kompilátora, ktorý sa používa na definovanie číselných hodnôt s desatinnými desatinnými miestami. C, C ++, C # a mnoho ďalších programovacích jazykov rozpoznáva float ako typ údajov.


 1 #include <stdio.h>
 2 #include <stdlib.h>
 3 
 4 //Príklad na podiel 2 čísel
 5 int main()
 6 {
 7   //Podiel 2 čísel
 8   int a,b;
 9   float podiel;
10   printf("vloz cislo 1:");
11   scanf("%d",&a);
12   printf("vloz cislo 2:");
13   scanf("%d",&b);
14   podiel=a/b;
15   printf("podiel je:%f",podiel);
16   return 0;
17 }

Double

Double sa používa na ukladanie desatinných čísel (čísla s hodnotou s desatinnou čiarkou) s presnosťou na 15 desatinných miest oproti float.

Premenné

Premenná nie je nič iné ako názov oblasti úložiska, s ktorou môžu naše programy manipulovať. Každá premenná v C má špecifický typ, ktorý určuje veľkosť a rozloženie pamäte premennej; rozsah hodnôt, ktoré môžu byť uložené v tejto pamäti; a súbor operácií, ktoré možno použiť na premennú.

Názov premennej môže pozostávať z písmen, číslic a znaku podčiarknutia. Musí to začínať písmenom alebo znakom podčiarknutia. Veľké a malé písmená sú zreteľné, pretože v písmene C sa rozlišujú malé a veľké písmená. Na základe základných typov vysvetlených v predchádzajúcej kapitole budú nasledovať tieto základné typy premenných



Typy premenných v jazyku C

1. Lokálne premenné

2. Globálne premenné

3. Statické premenné

4. Automatické premenné

5. Vonkajšie premenné


Lokálna premenná

Premenná, ktorá je deklarovaná vo funkcii alebo bloku, sa nazýva lokálna premenná.

Musí sa uviesť na začiatku bloku.

void function1()
{  
int x=10;//lokálna premenná  
} ;


Globálna premenná

Premenná, ktorá je deklarovaná mimo funkcie alebo blok, sa nazýva globálna premenná. Akákoľvek funkcia môže zmeniť hodnotu globálnej premennej. Je k dispozícii pre všetky funkcie.

Musí sa uviesť na začiatku bloku.

int value=20;//globalná premenná
void function1(){  
int x=10;//lokálna premenná  
}


Statická premenná

Premenná, ktorá je deklarovaná pomocou statického kľúčového slova, sa nazýva statická premenná.

Zachováva si svoju hodnotu medzi viacerými volaniami funkcií.

void function1(){  
int x=10;//lokálna premenná  
static int y=10;//statická premenná  
x=x+1;  
y=y+1;  
printf("%d,%d",x,y);  
}

Ak túto funkciu zavoláte viachokrát, lokálna premenná vypíše rovnakú hodnotu pre každé volanie funkcie, napr. 11,11,11 atď. Statická premenná však vypíše zvýšenú hodnotu pri každom volaní funkcie, napr. 11, 12, 13 a tak ďalej.


Automatická premenná

Všetky premenné v C, ktoré sú deklarované vo vnútri bloku, sú predvolene automatické premenné. Pomocou automatického kľúčového slova môžeme explicitne deklarovať automatickú premennú.

void main(){  
int x=10;//local variable (also automatic)  
auto int y=20;//automatic variable  
}


Vonkajšia premenná

Môžeme zdieľať premennú vo viacerých zdrojových súboroch C pomocou externej premennej. Ak chcete deklarovať externú premennú, musíte použiť externé kľúčové slovo.


mojsubor.h

extern int x=10;//externá premenná (tiež globálna)

program1.c

#include "mojsubor.h"  
#include <stdio.h>  
void printValue(){  
    printf("Global variable: %d", global_variable);  
}

[3]

Deklarácia premenných

Pravidlá pre deklarovanie premenných v jazyku C

  • Názov premennej musí začínať písmenom alebo znakom podčiarknutia.
  • U premenných sa rozlišujú malé a veľké písmená
  • Môžu byť obsahovať číslice a písmená.
  • Okrem podčiarknutia nie sú povolené žiadne špeciálne symboly.
  • Premenné by sa mali pred použitím deklarovať v programe C.
  • Pamäťový priestor nie je pri deklarovaní pridelený premennej. Stáva sa to iba pri definícii premennej.


Deklarácia a inicializácia premenných v jazyku C

Obecný tvar deklarácie premennej v C:

popis typu   deklarované objekty  [=počiatočné hodnoty]

int a=1;
char o='p';
double g,j,h;
float e=2.4e+2,    f=2.2154;

[4]


Definícia vs Deklarácia

Definica Deklarácia
Definícia alokuje pamäť pre premennú. Deklarácia hovorí kompilátoru o dátovom type a veľkosti premennej.
Môže sa to stať iba raz pre premennú v programe. Premennú je možné v programe mnohokrát deklarovať
Priradenie úložného priestoru k premennej. Priradenie vlastností a identifikácia premennej.

Odkazy