V dnešnej časti seriálu sa konečne naučíme napísať jednoduchý program, ktorý vypíše správu na obrazovku. Prvýkrát použijeme aj jednu zo štandarných knižníc jazyka C.
HLAVNÁ FUNKCIA
Otvoríme si nový prázdny dokument v editore alebo IDE aplikáciu na programovanie. Po otvorení máme zatiaľ len prázdny dokument. Ak chceme, aby nám robil presne to, čo očakávame, musíme mu to nejakým spôsobom prikázať. Uskutočňuje sa to príkazmi v programovacích jazykoch.
V jazyku C začína program vždy hlavnou funkciou. Každý program ju musí mať iba raz, čiže aj náš. Takže si ju musíme nadefinovať. V súbore, ktorý sme si otvorili napíšeme na novom riadku:
int main()
kde int nám hovorí, že návratná hodnota hlavnej funkcie je celé číslo. Návratná hodnota hlavnej funkcie je predaná operačnému systému a štandard presne neurčuje, ako ju má spracovať . V Unixových operačných systémoch je to tak: Ak je dané číslo rovné 0, program skončil bez chyby. Ak je rovný 1,2,.. tak skončil program chybou. Čím väčšie číslo, tým väčšia chyba. To sa dá využiť v shelloch na podmienku, či úspešne vykonal danú činnosť alebo nie. Main je názov, že ide o hlavnú funkciu. Na ďalšie dva riadky vložíme:
{
}
Zátvorky {} ohraničujú blok príkazov. Medzi ne môžeme písať príkazy jazyka C. A keďže chceme povedať, či daný program skončil správne, napíšeme medzi {} "return 0;". Za každým príkazom sa píše ; okrem {}. Takže náš program bude vyzerať takto:
int main()
{
return 0;
}
UPOZORNENIE: Jazyk C rozlišuje veľkosť písma, "main" a "Main" nie je preňho to isté.
"Hello word"
Tak a teraz chceme, aby nám aj program niečo vypísal na obrazovku.
Jazyk v najužšom význame sám o sebe veľa nedokáže. To má výhodu, je ľahko prenosný. Nakoľko napr. výstupno - vstupné operácie sú silne systémovo závislé, sú v jazyku C zahrnuté ako knižnice. To má tú výhodu, že pri tvorbe prekladača pre danú novú platformu, stačí naprogramovať len najužšiu časť jazyka, knižnice sú naprogramované tým najužším jazykom. Tento spôsob urýchľuje dosť vývoj prekladača a vďaka tejto vlastnosti sa stal ľahko veľmi rozšíriteľným. V hlavičkových súboroch sú taktiež všetky potrebné závislé časti, ako konštanty, popis ako napríklad súbor vyzerá atď. Knižnice sú štandardizované, aby boli programy prenosné a nebol v tom chaos. Taktiež sú jednotlivé funkcie štandardizované.
Dnes si povieme o knižnici stdio.h, t.j. "standard input/output" - štandardná výstupno/vstupná knižnica. Má na starosti výstupno/vstupné operácie. T.j. v nej sú funkcie na prácu na načítanie a výpis na obrazovku, ako chybovú správu a práca so súbormi, konštanty, koľko maximálne môžeš mať otvorených súborov, ako je popísaný programátorsky, ...
V nej sa nachádza aj funkcia puts(), ktorej parametrom je reťazec, ktorý vypíše na obrazovku. Pr. puts("Hello word");. Pred jej použitím ale musíme najskôr vložiť hlavičkový súbor knižnice, príkazom predprocesora #include . Znaky tam musia byť, nakoľko hovoria prekladaču, že je to hlavičkový súbor štandardných knižníc. Takže celý program bude potom vyzerať takto.
#include
int main()
{
puts("Hello word");
return 0;
}
A nakoniec si ho uložíme na disk ako hello_word.c. Ale ako ho preložíme zo zdrojového kódu ako program?
Preklad súboru
Otvoríme si terminal, konzolu, xterm, … , a nech sa nachádzame v priečinku, kde máme zdrojový kód. A na preklad súboru napíšeme:
gcc hello_word.c –o hello_word
Vysvetlenie parametrov prekladu:
gcc – názov prekladača
hello_word.c – názov zdrojového kódu dokumentu
-o hello_word – názov výsledného programu, inak by sa volal a.uot
Po preklade spustíme program .:
./hello_word
A mal by nám vypísať hlášku Hello word.
Makefile
Ak sa vám nechce pri každom preklade vypisovať tento dlhý príkaz, dá sa to zjednodušiť tak, že napíšete iba jeden príkaz. Použijeme ten istý príklad, ako je použitý hore.
Otvoríme si editor a vytvoríme súbor Makefile tam, kde je zdrojový kód hello_word.c, bez žiadnej prípony. A napíšeme doňho:
CC=gcc
SOURCE=ahoj_svet.c
PROGRAM=ahoj_svet
$(PROGRAM): $(SOURCE)
$(CC) $(SOURCE) –o $(PROGRAM)
V riadku so začiatkom $(CC) ... naozaj musí začínať riadok tabulátorom, nie medzerami. A keď chceme preložiť program, napíšeme v danom priečinku make.
Escape sekvence
Špeciálne znaky na zapísanie neviditeľných znakov alebo ovládacích znakov:
|
\b |
Backspace |
Posunie o 1 znak späť |
|
\f |
Formfeed |
nová stránka nebo obrazovka |
|
\n |
Newline |
presun na začiatok nového riadku |
|
\r |
Carriage return |
presun na začiatok aktuálneho riadku |
|
\t |
Horizontal tab |
tabulator |
|
\\ |
Backslash |
obrátené lomítko |
|
\' |
Single quote |
apostrof |
|
\" |
Double quote |
úvodzovky |
To isté ako:
#include
{
puts(“Ahoj”);
puts(“ Tomas”);
return 0;
}
To isté ako:
#include
{
puts(“Ahoj\n\tTomas”);
return 0;
}
Ale pritom robia oba to isté. Čiže kľudne môžete používať escape sekvencie.
A to je na dnes všetko, nabudúce si ukážeme, čo treba robiť pri preklade programu, ako sa pracuje s premenami, logicko-matematickými operáciami a podmienkami.





