Základy syntaxe

C je (programovací) jazyk a jako každý jazyk má svá pravidla, které je nutno dodržovat. Například v češtině musíme dodržovat určitá pravidla a zvyklosti, abychom byli schopni výsledný text pochopit. Věty jsme, M y máma, táta a nebo .o dku d! ty z, jsi nedávají smysl, protože obsahují interpunkční znaménka na špatných místech, větné členy jsou ve špatném pořadí a některá slova obsahují mezery na místech, kam nepatří. Stejně tak v jazyce C můžete velmi jednoduše napsat program, kterému překladač nebude rozumět a překlad poté skončí se syntaktickou chybou (syntax error). Na syntax C si musíte postupně zvyknout, poté už podobné chyby budete schopni snadno vyřešit.

Zde je asi nejkratší možný program v jazyce C:

int main() {
    return 0;
}

V programu výše je pouze funkce s názvem main. Funkce si popíšeme později, prozatím budeme psát kód vždy do funkce main (před return 0;). Jednotlivé prvky programu si postupně vysvětlíme v následujících sekcích, prozatím si však všimněte, že bílé znaky (whitespace)1 jsou obvykle překladačem ignorovány. Například

1Bílé znaky jsou (neviditelné) znaky, které reprezentují mezery v textu, tj. odřádkování, mezerník, tabulátor atd.

int 


main()                 {
    
    
    return         0;
}

reprezentuje úplně stejný program. Nicméně asi sami uznáte, že pokud bychom s bílými znaky nakládali takto nerozvážně, tak by zdrojový kód byl pro lidi špatně čitelný. Proto doporučujeme formátování provádět automaticky ve VSCode pomocí zkratky Ctrl + Shift + I, ať nad ním nemusíte přemýšlet.

Bílé znaky nicméně nejsou ignorovány úplně na všech místech. Například v řetězcích jsou bílé znaky brány jako součást textu. Nemůžete také rozdělovat mezerami názvy (např. in t nebo ma in z programu výše by způsobily chybu při překladu).

Komentáře

Abychom mohli v následujících sekcích popisovat kusy kódu, ukážeme si teď komentáře. Jedná se o text ve zdrojovém kódu, který je určen pro programátory, ne pro překladač, který je zcela ignoruje. Bez komentářů bychom nemohli do zdrojového kódu dodávat poznámky, protože překladač by jinak měl snahu je interpretovat jako C kód. Komentáře v kódu obvykle poznáte snadno, protože je váš editor bude vykreslovat jinou barvou než zbytek kódu.

V C existují dva typy komentářů:

  • Řádkové komentáře - pokud do kódu napíšete //, tak vše za těmito lomítky až do konce řádku se bude brát jako komentář.
    // komentář 1
    int main() {
        // komentář 2
        return 0; // komentář 3
    }
    
  • Blokové komenáře - pokud do kódu napíšete /*, tak bude jako komentář označen všechen následující text, dokud nedojde k ukončení komentáře pomocí */.
    int main() {
        /* zde je komentář
    zde taky
    a tady taky */
        return 0;
    }
    

Ze začátku je asi jednodušší používat řádkové komentáře, ve VSCode můžete použít klávesovou zkratku Ctrl + / pro zakomentování/odkomentování řádku kódu. Pokud vám přijde nějaký kus kódu komplikovaný, tak si k němu zkuste dopsat komentář, který vysvětlí, co má daný kód dělat. Porozumíte tak kódu snáž, až se k němu např. za měsíc vrátíte.

Klíčová slova

Klíčová slova (keywords) jsou vestavěné názvy, kterým překladač přiřazuje speciální význam. V textovém editoru je typicky poznáte tak, že budou zabarvená jinou barvou. Například v tomto kódu jsou int a return klíčová slova:

int main() {
    return 0;
}

Během semestru se postupně naučíte, k čemu se jednotlivá klíčová slova používají. Jejich kompletní seznam můžete najít například zde.

Speciální znaky

Při programování (jak už v C, tak i v jiných jazycích) budete používat spousty symbolů, které běžně asi často nevyužíváte (například [, ], {, }, <, >, =, %, #, &, *, ;, \, ", '). Obzvláště pokud pro programování budete používat českou klávesnici, je dobré si ze začátku najít nějaký tahák (např. tento), abyste nemuseli pokaždé zdlouhavě vzpomínat, na které klávese se daný znak nachází.

Formátování kódu

Už víme, že překladač ignoruje bílé znaky a celkové formátování kódu. Nicméně programátorům obvykle velmi záleží na tom, jaké má kód odsazení, zarovnání, závorkování atd. Existuje mnoho stylů, pomocí kterých můžete kód formátovat. Například programátoři se dokážou běžně pohádat o tom, zda složené závorky na začátku bloku psát na stejném:

if (...) {

}
while (...) {

}

nebo novém řádku:

if (...)
{
}
while (...)
{
}

Jaký styl formátování použijete je na vás, nicméně obecně platným pravidlem je, že byste se měli držet ve svých programech jednotného stylu a nemíchat více stylů dohromady.