Archív Inet.sk Pôvodný autor: Michal Čižmár
29. 03. 2003 o 00:00 19706x

Tretí diel seriálu Programujeme v jazyku C

Po dlhšom čase pokračujeme v našom seriály o programovaní. Keďže som od Vás nedostal žiadne e-maily, že by ste niečomu nerozumeli, vyzerá to tak, že spôsob vysvetľovania, ktorý som použil je absolútne jasný (dúfam, že je to naozaj tak...). V tomto diely si povieme niečo o štruktúre zdrojového. Bude toho trochu viac, pretože neviem kedy si zas nájdem čas na ďalší diel.
Tretí diel seriálu Programujeme v jazyku C

1.) Ak chcete mať profesionálne zdrojové texty musíte na úplný začiatok napísať do komentára , o čom program je, kto ho napísal, kedy, + poznámky. Aby ste z toho mali aj vy niečo, keď sa k tomu vrátite neskôr, alebo keď na programe spolupracujete s kolegom.( alebo kolegyňou; ak poznáte ženu programátorku na Slovenku napíšte, či nejaké existujú :-)
Samozrejme je tu príklad( všimnite si ako sa píšu komentáre /* text */ ).

/* Program: MATRIX *
* Sluzi na lacnejsie pripojenie..... *
* Autor: Agent Smith (prezivka AI) *
* Datum: 2003±1000 *
*/

2.) Na začiatku programu väčšinou musíte pribaliť ku svojmu programu už vyrobené funkcie dodávané s prostredím v ktorom pracujete, alebo vyrobené niekým iným. Urobíte to príkazom

#include <Meno_knižnice>

Najčastejšie budete potrebovať knižnice stdio.h a conio.h, ktorá obsahuje základné vstupno výstupne funkcie pre výmenu dát. Ako napr. funkcia printf, s ktorou sme sa stretli v minulom dieli.
Bolo by zbytočné vypisovať , ktoré funkcie sa nachádzajú v ktorej knižnici. Sami si to môžete zistiť v nápovede prostredia, v ktorom programujete.
Napr. pod Dos Borland C stačí prísť s kurzorom na začiatok napísanej funkcie a stlačiť ctrl-F1 a zobrazí sa Vám nápoveda ku konkrétnemu príkazu a tam máte aj napísané aké knižnice sú k tomu potrebné. Niekedy ich býva aj viac ako jedna( v prípade, že jedna knižnica využíva ešte príkazy inej knižnice).
V tejto časti zdrojového textu sa musia písať ešte niektoré príkazy. Sú to iné príkazy pre kompilátor ako #include, ktoré mu hovoria, čo má robiť ešte pred samotnou kompiláciou. Ale mi ich zatiaľ nepotrebujeme.

3.) Pretože jazyk C je založený na volaní funkcií, musí obsahovať jednu základnú funkcia, ktorá sa volá vždy ako prvá. je to

funkcia main()

Na tejto funkcii si vysvetlíme, čo musí obsahovať každá funkcia, ktorú si sami vytvoríte.
Povedzme si, čo to vlastne funkcia je. Z matiky poznáte takýto zápis y=f(x) . Kde x je číslo, ktoré do funkcie vkladáte( vstupná premenná). V jej vnútri sa toto číslo spracuje a výstupná hodnota je číslo y.
Napr funkcia f: y=x+1. Vložíte číslo 1 a „vypadne“ Vám číslo 2. Na tomto princípe sú založené aj funkcie v C.

Majú nasledujúci tvar:

Typ_výstupnej_premennej Meno_funkcie (Vstupné premenné a ich typ)
{

/* jadro funkcie kde sa spracovávajú vstupné premenné */

return ( výstupná premenná);
}

Ak nechcete aby mala funkcia nejaké vstupné alebo výstupné hodnoty tak za typ premennej napíšete:

void

To už ale nie je funkcia ale PROCEDÚRA. Tá napr. napíše niečo na obrazovku ale nevracia nijaké hodnoty. Procedúry sa používajú na ohraničenie určitej skupiny príkazov, ktoré sa často vyskytujú v programe. Takto si to zjednodušíte.
Toto je ale lán malý základ ktorý Vám nestačí na vytvorenie funkcií zo všetkými fintami, ktoré sa tam dajú použiť. Podrobne sa budeme venovať funkciám a procedúram v niektorom z ďalších dielov.

Zatiaľ používajme takýto spôsob funkcie main()

int main(void)
{


return 0;
}

Vidíte, že funkcii main v tomto prípade nevkladáte žiadne hodnoty. Teda nie rovno pri štarte programu. Možno že poznáte takýto spôsob zadávania údajov programu v príkazov riadku rovno pri štarte :
arj.exe a –v dokumet.txt doc.arj . V tomto prípade sú znaky za názvom programu vstupné hodnoty pre funkciu main(). Keď budeme vedieť pracovať s poliami(matematickými) tak si ukážeme ako sa to robí.
Na konci vidíte príkaz return 0; Teda vráti ako výsledok svojej činnosti číslo 0. Ale komu to vráti keď main() je hlavná funkcia? Odpoveď je: Operačnému systému. Nula znamená pre operačný systém, že všetko prebehlo v poriadku.

4.) Pre začatím písania funkcií, musíte ich ešte deklarovať. To znamená, že poviete prekladaču, čo môže čakať za funkcie, aké budú mať parametre ale nič viac. POZOR: tu nedeklarujte funkciu main().Môžem Vám to len odporúčať robiť to takto. Funkcie nemusíte deklarovať ak ich uvádzate až za telom funkcie main(). Ale potom sa funkcie nemôžu volať medzi sebou navzájom.

5.) Vo vnútri funkcii main( a aj iných) začíname deklaráciou premenných. Pre tých, čo nevedia čo to je premenná: Je to znak alebo slovo, ktoré nám reprezentuje akoby nejakú nádobu. Deklaráciou premennej ešte povieme aké typ predmetu sa môže do „nádoby“ uložiť. Napr. či jahody alebo mäso. Tento typ premennej už nemôžete potom v behu programu meniť. Premennými sa budeme podrobne venovať v ďalšom diely.
Potom môžu nasledovať volania funkcií, príkazov, procedúr. Teda jadro funkcie main() môžeme považovať väčšinou aj za jadro celého programu.

6.) Zásadou dobrého programátora je písať komentáre k oblastiam zdrojového textu, ktoré nie sú zrozumiteľné na prvý pohľad. Alebo Vám aj budú jasné ale myslite aj na kolegov :-)
Už ste videli, že v jazyku C sa píšu komentáre medzi znaky /* a */. Komentár môže byť aj na viac riadkov. Jednoducho čaká na ukončenie znakom */ . Dobré programy napíšu čo budú robiť a čo čakajú od užívateľa. Keď Vám hneď po štarte program napíše „zadaj číslo“ a nič viac k tomu, nemôžete vedieť či si len nepýta počet sekúnd po ktorých má začať formátovať disk. Najlepšie by bolo keby ste nepoužívali ani skratky, ktoré nie sú všeobecne jasné.

Teraz si všetko ukážeme na reálnom programe.

/* Program: Druha mocnina *
* Vypocíta druhú mocninu zadaneho cisla *
* Autor: MiCi *
* Datum: Jar 20003 *
*/

#include <STDIO.H>
#include <CONIO.H>

/* deklaracia funkcie */
int kvadrat(int cislo);

/* samotna funkcia kvadrat */
int kvadrat(int cislo)
{

return(cislo*cislo);

}

int main(void)

{ int cislo; /* deklaracia premennej cislo, typ cele cislo */

clrscr(); /* vymazanie obrazovky */

printf(" Vypocitam druhu mocninu zadaneho cisla\n"); /* uvod */
printf(" Zadajte cislo: ");
scanf("%d",&cislo); /* nacitanie hodnot */
printf("\n Jeho druha mocnina je %d\n",kvadrat(cislo)); /*vysledok*/

printf(" Stlacte lubovolnu klavesu\n");
getch(); /*caka na stlacenie lubovolnej klavesy*/

return 0;
}

Programu asi ešte nerozumiete ale je funkční a je na ňom ukázané všetko čo sme dnes preberali. Nebojte sa. Po pár dieloch Vám to bude všetko jasné.
Ak Vám nebolo niečo jasné v tomto diely, viete čo máte robiť. Ak nie máte tu možnosti:

a) Čakať na božie vnuknutie
b.) Pohľadať to v kuchárke pre dobrú gazdinú
c.) Napísať mi e-mail na micitn@orangemail.sk alebo do diskusie
d.) Vykašlať sa na to

Ako nápoveda po internete Vám radím, že správne je za c.) ( tie sú väčšinou správne, hlavne na skúškach :-) 


                                                                                                            See You


P.S. Ak ešte nemáte nejaký ten kompilátor a prostredie na písanie programov, skúste nasledujúce stránky:

http://www.simonhuggins.com/courses/progbegin/c/download/#download
Je tam C-lite. 2Mb

Alebo Dos-Borland(odporucam, ale je väčší ) na :
http://www.optivec.com/download/BVCDOS.ZIP

Novinky a inšpirácie

Z nášho blogu

Prečítajte si novinky, inšpirácie a dôležité informácie zo sveta webhostingu a technológií.

Bezpečnostné aktualizácie PHP: Chráňte svoj web pred hrozbami Oznamy
21. 10. 2026

Bezpečnostné aktualizácie PHP: Chráňte svoj web pred hrozbami

Vývojársky tím PHP vydal dôležité bezpečnostné záplaty pre všetky oficiálne podporované verzie PHP 8. Na našich serveroch sme nezaváhali ...

Čítať viac
Gmail končí s funkciou „Odoslať ako“ pre cudzie e-mailové adresy. Čo to znamená pre vás? Oznamy
01. 10. 2026

Gmail končí s funkciou „Odoslať ako“ pre cudzie e-mailové adresy. Čo to znamená pre vás?

Google oznámil, že v januári 2027 zruší v Gmaile funkciu „Odoslať ako“ (Send as) pre e-mailové adresy od iných poskytovateľov. Ak ste si ...

Čítať viac
Večerná „prestávka“ pre server VIP033 Oznamy
25. 09. 2026

Večerná „prestávka“ pre server VIP033

Neustále pracujeme na tom, aby vaše weby bežali hladko, rýchlo a bezpečne. Technológie idú míľovými krokmi vpred a my v Inet.sk s nimi dr...

Čítať viac
Novinky na Inet.sk (09 / 2026) Novinky
09. 09. 2026

Novinky na Inet.sk (09 / 2026)

Posledné mesiace sme v Inet.sk nevenovali len stabilite serverov, ale najmä počúvaniu vašich reálnych skúseností z každodennej praxe. Výs...

Čítať viac

Podpora klientom

Máte ďalšie otázky?

Nezúfajte, pripravili sme pre Vás jednoduché odpovede na najdôležitejšie otázky, ktoré od našich klientov dostávame.

Zistiť viac

Naše výhody

Prečo si nás vybrať?

Našim klientom ponúkame až 30-dňovú záruku vrátenia peňazí.

Sme skutočný slovenský webhosting

Slovenská
firma

Nepatríme pod žiadnu nadnárodnú spoločnosť, sme malá rodinná firma.

Na nás sa môžete kedykoľvek spoľahnúť

Dlhoročné
skúsenosti

Na slovenskom trhu pôsobíme už viac ako 20 rokov, sme overená značka.

Naši prví zákazníci sú stále s nami

Spokojní
zákazníci

Naši zákazníci sú ako naša rodina, preto nám verí už viac ako 1250 klientov.

Maximálna bezpečnosť

Maximálna
bezpečnosť

Chránime Vás pred útokmi i SPAMom. U nás sú Vaše dáta v bezpečí.

Prozákaznícka podpora

Ochotná
podpora

Zakladáme si na individuálnom prístupe, preto Vám vždy radi pomôžeme.

Kvalita a dobrá cena

Férová
cena

Cena pri obnove je rovnaká ako pri objednávke. Nezdražujeme po prvom roku a bez skrytých poplatkov.

U nás sa Vám nič nestratí

Pravidelné
zálohovanie

Vaše dáta zálohujeme každý deň, dostupné sú aj zálohy z pred niekoľkých mesiacov.

Svižný Admin Panel nájdete len u nás

Prehľadný
Admin Panel

Máme rýchly a prehľadný Admin Panel, ktorý zvládne používať naozaj každý.

Správa používateľov

Správa
používateľov

Spravujte svoje projekty bez akýchkoľvek obáv s kolegami alebo externými partnermi.

Máme zľavy pre verných klientov

Vernostné
zľavy

Verní klienti u nás automaticky získavajú 15 % zľavu na každú ďalšiu objednávku.

My Vás nebudeme obmedzovať

Bez
obmedzení

Neobmedzujeme počet databáz, e-mailov, ftp a ani prenos dát.

Hosting pre WordPress

WordPress
na 1 klik

Nainštalujte si obľúbené redakčné systémy rýchlo a jednoducho.

Referencie

Spokojní zákazníci

Pozrite sa, čo o nás povedali naši klienti. Neváhajte a pridajte sa k nám ešte dnes.

Auto 100
Bystricoviny
eCall Slovakia
Filip Jančík
Frost
Merkury Broker
Mi:Su Design
Mesto Nitra
Pro Clienta
Schneider Lekáreň
Vego Marketing
Mesto Zlaté Moravce

Všetky ceny sú uvádzané bez DPH
© 2006 - 2026, Inet.sk, s. r. o., Všetky práva vyhradené

Na našej stránke používame "cookies". Vďaka nim sledujeme návštevnosť, prispôsobujeme reklamu a používateľské nastavenia, čo zlepšuje Váš zážitok z našej stránky. Súhlasíte s ich spracovaním?
Vlastné nastavenia cookies