Preskočiť menu

Aligátor, Fórum, Pripojsa.sk, Servis, Speedmeter, Webhosting, Weblogy.sk
banner HP

Číta nás cez 130 tisíc ľudí | Autori | O Inet.sk | OZ IPV | Referáty | Reklama | RSS

Štvrtý diel seriálu Programujeme v jazyku C

26. 6. 2003, Programovanie, Michal Čižmár, 19 komentárov

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

in cislo;

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:

int cislo=0;

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:

int cislo, i, k, suma;

Môžete dokonca miešať deklaráciu a definíciu. Príklad:

int cislo=5, i , suma=0;

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:

int prve_cislo;

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

sizeof( typ);

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

Podobné články na Inet.sk

Diskusia k článku

Dátum Meno Predmet
Prejsť na diskusiu | Pridať komentár
25. 6. 2003 Bystro welcome back!
26. 6. 2003 si .
26. 6. 2003 MICI RE SI getch()
26. 6. 2003 Ivan Typ Int a Nazvy premennych
26. 6. 2003 Jaro Re: Typ Int a Nazvy premennych
30. 6. 2003 MICI Nazvy premennych
2. 12. 2003 Lenin Co najmenej uderov
2. 12. 2003 Lenin Velkost premennej
5. 12. 2003 Martin Re: Co najmenej uderov
31. 12. 2003 Charles ?
9. 1. 2004 jimik Dalsi diel
28. 1. 2004 Mici Dalsie diely
28. 1. 2004 Hlodi Longint ma normalne (na x86) 4 byty!
27. 5. 2004 Emil Část Long proměnné v C++
15. 4. 2005 qqw styl pisania
17. 4. 2006 Xartrix (XX) Re: Velkost premennej
17. 4. 2006 XX (Xartrix) Addon
16. 11. 2006 ika Otázočka")
11. 3. 2008 mare_check super

Vyhľadávanie

Platená reklama

Textová reklama

notebook.pda.sk
E-shop zameraný na predaj mobilných zariadení. Hlavnou ponukou sú notebooky značky Apple, DELL a príslušenstvo.

EuroPhoto : Bratislava Photo | Vienna Photo | Prague Photo | London Photo | Paris Photo
Croatia | Bratislava Property
PROMA nábytok: najväčšia výroba: kuchynské linky, kuchyne a kuchynský nábytok. Pracovné dosky, úchytky, grafický 3D dizajn.

MSkozmetika: internetový predaj parfémov, kozmetiky a bižutérie. Mega parfuméria na webe. Značková a luxusná kozmetika.

Newsletter


Inet.sk – Internetový denník, ISSN 1336-1899
Copyright 2002 – 2010 Inet.sk, s. r. o., Všetky práva vyhradené, Neprešlo jazykovou úpravou

Partneri:
123velkoformatovatlac.sk Aaavizitky.sk Bilancia skrývky BiznisHosting.sk CinemaView.sk Digitálne fotoaparáty Digitlac.sk Fotografie Grafika.sk HrajSa.sk Katalog Pozri.sk Kusi.sk Manga.sk Notebooky HP Predaj PC komponenty Reality Aaainfo.sk Reklama.sk Sladká kytica StiahniTo.sk Surf.sk Toshiba PC akcia Úvery Aaainfo.sk Zájazdy