Michal Čižmár / 26. 06. 2003, 00:00
Konečne som sa dostal k písaniu ďalšieho dielu. Som rád, že som sa stretol s ohlasmi kde ste sa ma pýtali typu kedy bude ďalší diel, alebo ste potrebovali konkrétne rady pri programovaní. Dúfam, že som Vám pomohol a taktiež dúfam, že sa na mňa veľmi nehneváte, že mi to toľko trvalo napísať ďalší diel, samozrejme pre veľa iných povinností. Takže, čo si dnes preberieme? Už minule som Vám sľúbil, že sa budeme venovať jednoduchým premenným - a svoje slovo dodržím.
Jednoduché premenné.
Čo by sme si mohli predstaviť pod premennou. Je to niečo ako nádoba, do ktorej si odkladáte veci v našom prípade čísla, znaky atď. .. Počítaču musíte povedať aké nádoby budete potrebovať( deklarácia premenných). Ak budete ukladať malé hodnoty, alebo jednoduché údaje, nebudete potrebovať veľké „nádoby“. Takže počítač alokuje ( tzn. pripraví určitý počet buniek v RAM t.j. pamäť počítača, do ktorých sa budú hodnoty zapisovať ) len malú pamäťovú oblasť.
Aby som to mohol lepšie vysvetliť, tu je príklad
Tu sme deklarovali premennú s menom : cislo.
int - znamená , že do premennej budeme ukladať celé čísla ( teda bez desaťtinej bodky) .
Podľa typu premennej, PC( konkrétne operačný systém) priradí premennej určitú malú oblasť pamäti RAM. Ešte detailnejšie povedané, vyhľadá v RAM súvislú oblasť, ktorej celková veľkosť vyhovuje typu danej premennej. Tejto oblasti môžeme hovoriť bunka. Tu je potrebné povedať, že v RAM sa program orientuje pomocou : adries. Sú to také hexadecimálne čísla priradené každej najmenšej časti RAM-ky. Niečo ako obsah knihy.
Takže program si akoby spojí názov premennej, ktorú sme si zvolili s adresou prvej najmenšej časti RAM, kde bunka začína. V programe pracujeme s názvom premennej a o to ostatné sa stará operačný systém.
Všetko, čo som teraz opísal sa nazýva statická deklarácia premennej. To znamená, že program pri začiatku činnosti programu vie, koľko pamäti bude potrebovať. Opakom je dynamická deklarácia. Premenné sa vytvoria pri behu programu. Ako sa to robí, si povieme v niektorom z ďalších dielov, až keď si vysvetlíme ešte zopár iných vecí. Nebojte, je to jednoduché.
UPOZORNENIE!!! Po deklarácii, ešte nie je vyhradená bunka obsadená hodnotou, je tam buď náhodné číslo, alebo hodnota, ktorú tam zanechal nejaký iný program. Takže ak chcete využiť danú premennú napr. ako počítadlo, to znamená že budete pripočítavať konkrétnu hodnotu, musíte premennú najprv vynulovať. Tu sa dosť často vyskytujú chyby!!!
Ešte existuje pojem definícia premennej. Mnohý ľudia si to zamieňajú s deklaráciu. Už som sa s touto zámenou stretol aj v knihách, takže je si potrebné dobre uvedomiť , čo autor , pod ktorým pojmom rozumie.
Definícia je deklarácia , kde sa hneď premennej priradí aj hodnota.
Príklad:
Tu máme vzor všeobecnej deklarácie:
typ_premennej nazov_prvej_premennej, nazov_druhej premennej ... ;
Všimli ste si, že ak potrebujete viac premenných toho istého typu môžete ich uviesť za seba, stačí ich len oddeliť čiarkou. Napríklad:
Môžete dokonca miešať deklaráciu a definíciu. Príklad:
Odporúčam pri zložitých programoch, poznamenať si hneď, načo budete danú premennú používať. Vtedy môžete deklaráciu premenných roztiahnuť a na viac riadkov, ale za posledným musí byť bodkočiarka. Príklad:
int cislo /*na nacitanie hodnou zo vstupu */
i /* pouzite na pocitatlo */
suma; /*sucet vsetkych zadanych hodnot */
POZNAMKA: Prekladač by Vás nemal obmedzovať, čo sa týka dĺžky názvu premennej. Dajte si ale pozor aby názov neobsahoval medzery. Používajte iba štandartné znaky z abecedy a číslice. A keď chcete viacslovný názov, použite dolnú pomlčku. Napríklad:
Samozrejme, že potrebujeme aj iné premenné ako typu int.
Jednoduché typy premenných.
int -celé čísla 1,-5,100,-21,0, 5000
long -veľké celé čísla 60000000000,
short -malé celé čísla 10,250,
char -znak A, a, b, ?,%
float -reálne číslo ( s desatinnou bodkou) 1,235
double -číslo s presnosťou okolo 20 desatinných miest 1,235e-5
long double -ešte väčšia presnosť.
Rozsahy jednotlivých premenných si môžete nájsť v nápovede prostredia, v ktorom pracujete. Ak chcete vedieť, koľko ktorý typ premennej používa pamäti, môžete použiť príkaz
Návratová hodnota ( čo to je, sme si hovorili minule) tohto príkazu je veľkosť premennej v Bytoch.
Môžete si vyskúšať tento príklad:
#include <stdio.h>
#include <conio.h>
int main()
{ int i;
char c;
double re;
printf(" Velskoti premennych v Bytoch: \n");
printf(" Typ int : %d \n",sizeof(int));
printf(" Typ char : %d \n",sizeof(char));
printf(" Typ double : %d \n",sizeof(double));
getch();
return 0;
}
Pri typoch int a char možme ešte určiť, či to majú byť hodnoty so znamienkom – alebo nie. Príklad:
unsigned int cislo;
signed int suma;
Keď je premenná unsigned, teda iba kladné hodnoty, ma dvojnásobný rozsah ako signed.
Rozsah premennej si teraz môžete vypočítať takto:
pri signed premenných od -2na(n-1) do +2na(n-1) -1
pri unsigned premenných od 0 do 2na(n) -1
Priradenie hodnoty
Myslím, že najlepšie je hneď uviesť príklad:
int cislo; /* deklaraica*/
cislo=5; /* priradenie hodnoty */
Tento spôsob priradenia hodnoty, často zo začiatku mýli programátorov, ktorí pred tým robili v Pascale. ( Tam sa to robí spôsobom cislo:=5; )
Ďalšie možnosti si ukážeme rovno na programe:
#include <stdio.h>
#include <conio.h>
int main()
{
int i; /* deklaracie premennych */
char c;
double re;
i=5;
c='A'; /* priradenie hodnoty */
re=2.35e2;
printf(" Hodnota i : %d \n",i);
printf(" Hodnota c : %c \n",c); /* vypisanie hodnoty */
printf(" Hodnota re : %e \n",re);
getch();
return 0;
}
Na príklade ste si všimli, že keď chceme uložiť znak, musíme ho dať do jednoduchých úvodzoviek c='A' . Ako funguje príkaz printf, si povieme v niektorom z nasledujúcich dielov.
DOBRA RADA: Existujú určite zaužívané názvy premenných, podľa toho akého sú typu.
i,j,k - cele čísla
c,ch - znaky
f,r - reálne čísla
s - reťazce
Určite ste si všimli, že som pred tým nič nehovoril o reťazcoch ( to sú súbory znakov, slová, napr. “ahoj“ ). Je to preto, že Jazyk C nepodporuje typ reťazec ( na rozdiel od Pascalu) , ale programátor si ho môže vytvoriť. To si tiež niekedy ukážeme.
Tak, to je na dnes koniec. Nabudúce si povieme niečo o zložitejších typoch premenných, ako sú vektory a polia.
ANKETA: Keď som si tak surfoval po internete a poobzeral som sa aj po inakších seriáloch o programovacích jazykoch, alebo som čítal nemenovaný počítačový týždenník ( PC REVUE), zistil som , že ide veľakrát o opisovanie už napísaných kníh, alebo sú písane náročnejším štýlom ako používam. Ja tieto diely píšem rovno z hlavy a využívam pri tom len praktické skúsenosti. Snažím sa ku všetkému urobiť príklad, uvádzať celé programy, vysvetliť neznáme pojmy, a hlavne viesť vás krok po kroku. Ale aj môj štýl ma negatívne stránky a to, že sa seriál vyvíja pomalšie. Bol by som rád, keby ste mi, buď na e-mail micitn@orangemail.sk, alebo do diskusie, napísali Váš názor o takomto štýle, či by som ho mal zmeniť. Teším sa na Vaše konštruktívne pripomienky alebo otázky.
See You
Copyright © 2002 - 2013 inet.sk, s. r. o. | Všetky práva vyhradené | Neprešlo jazykovou úpravou | ISSN 1336-1899
Využívame kvalitný webhosting za rozumnú cenu od Inet.sk