Náš prvý program

Napíšme si náš prvý program a vysvetlíme si, čo robí:

#include <cstdio>

int main() {
    printf("ksp\n");
}

Samotný program v C++ píšeme medzi int main() { a }. To, čo je tam napísané, sa začne vykonávať pri spustení skompilovaného kódu. main() je v skutočnosti funkcia a medzi kučeravými zátvorkami \verb'{' a \verb'}' je jej telo. O funkciách si povieme viac neskôr, teraz nám stačí vedieť, že funkcia je v podstate pomenovaný program (postupnosť príkazov).

V tele funkcie main() z príkladu je len jeden príkaz, konkrétne volanie funkcie printf("ksp\n"). Za každým príkazom musí nasledovať bodkočiarka.

Do zátvoriek funkcií zasa píšeme argumenty, ktoré upresňujú čo má funkcia robiť. Napríklad funkcia printf vypisuje text na výstup a do zátvoriek jej píšeme, čo má vypisovať.

Telo funkcie printf nevidíme, lebo je napísané v tvz. knižnici cstdio. Knižnica je súbor, v ktorom sú definované funkcie ale aj všeliaké iné veci. Takéto knižnice nám veľmi zjedodušujú prácu, pretože mnohé veci si potom nemusíme programovať sami.

Ak chceme veci z knižnice používať, treba ju includenuť. Na to slúži riadok #include <cstdio>, ktorý vidíme v príklade.

cstdio (c++ standard input output) je teda názov knižnice, v ktorej je definovaných mnoho užitočných funkcií súvisiacich s načítavaním vstupu a vypisovaním výstupu.

Ako sme si už spomínali, funkcia printf, ktorá je v knižnici cstdio, slúži na vypisovanie výstupu. A pokiaľ jej do zátvorky vložíme nejaký reťazec znakov v úvodzovkách, tak ich vypíše na obrazovku. V našom príklade má reťazec $4$ znaky 'k', 's', 'p' a '\n'. Prvé $3$ sú obyčajné písmená, posledný je znak konca riadku. (Niektoré znaky (napríklad koniec riadku, alebo ") nemôžeme do reťazca napísať priamo, takže ich píšeme pomocou znaku \. Viac nájdete napríklad tu

Cvičenie: Skompilujte si vyššie uvedený program. A spustite ho. Čo sa stalo? Čo sa stane, keď z programu vynecháte znak \? Prečo? Ako by ste vypísali dva riadky so slovom ksp?

Riešenie Program vypíše reťazec `ksp`. Keď vynecháme znak `\` program vypíše `kspn` a riadok neukončí. Dvakrát vypísať reťazec `ksp` môžeme dvoma spôsobmi: buď `printf("ksp\nksp\n");` alebo `printf("ksp\n"); printf("ksp\n");`.

Cvičenie: Čo všetko môžeme z programu vynechať, aby stále robil to isté?

Riešenie Niektoré prebytočné medzery a prázdny riadok. Z nasledovného programu už nie je možné nič vynechať bez straty funkčnosti.
#include<cstdio>
int main(){printf("ksp\n");}

Cvičenie: Skúste na obrazovku vypísať reťazec "ksp" aj s úvodzovkami.

Riešenie Použijeme príkaz `printf("\"ksp\"\n");`