První program

Vítejte v kurzu jazyka C! Céčko patří k nejstarším programovacím jazykům, které se dodnes hojně používají: vzniklo už na začátku 70. let minulého století. Je to malý jazyk a programy v něm napsané běží velmi rychle. Proto se v něm píšou velké části operačních systémů, jako je Linux nebo Windows, i software pro mikrokontroléry, malinké počítače uvnitř praček, aut nebo hraček. Z jazyka C vyrostl jazyk C++. Další jazyky, třeba Java nebo JavaScript, od něj převzaly velkou část zápisu. Co se naučíte tady, se vám proto bude hodit i v nich.

V tomto kurzu se naučíte psát programy, které počítají, rozhodují se, opakují práci a pracují se seznamy čísel i s textem. Naučíte se rozdělit program na menší části, takzvané funkce, uvidíte, jak C pracuje s pamětí počítače, a na konci si napíšete vlastní menší projekt. Ale nejdřív svůj úplně první program.

Program je řada příkazů, které počítač provádí jeden po druhém, shora dolů. Jazyku C ale počítač přímo nerozumí. Program proto musí nejdřív zpracovat překladač: zkontroluje, že je program správně zapsaný, a přeloží ho do instrukcí, kterým počítač rozumí. Na tomto webu programy překládá překladač Clang. Když kliknete na Spustit, web váš program nejdřív přeloží a potom ho spustí.

Takhle vypadá celý program, který vypíše pozdrav:

#include <stdio.h>

int main(void) {
    printf("Ahoj!\n");
    return 0;
}

Vypíše:

Ahoj!

Co znamenají jednotlivé části:

  • #include <stdio.h> připojí k programu hlavičkový soubor stdio.h (z anglického standard input/output, standardní vstup a výstup). Patří do standardní knihovny, tedy sady hotových nástrojů, která je součástí každého překladače C. Tento soubor přináší printf a bez tohoto řádku by ho překladač neznal.
  • int main(void) { } je hlavní část programu, funkce main. Tady program začíná: provede příkazy mezi složenými závorkami { a }, shora dolů. Každý program v C má právě jednu funkci main. Co znamená int a (void), se dozvíte v lekci o funkcích. Zatím ji berte jako pevnou kostru, do které píšete svůj kód.
  • printf("Ahoj!\n"); vypíše text. Text patří do dvojitých uvozovek ", které ukazují, kde začíná a kde končí. Textu v uvozovkách programátoři říkají řetězec. Znaky \n na jeho konci se nevypíšou, ale ukončí řádek. Víc se o nich dozvíte v dalším cvičení.
  • return 0; ukončí funkci main, a tím i celý program. Nula sděluje počítači, že program skončil v pořádku.
  • Středník ; ukončuje příkaz, podobně jako tečka ukončuje větu. Má ho každý příkaz uvnitř main. Řádky #include, int main(void) { a } příkazy nejsou, a proto středník nemají.

C rozlišuje velká a malá písmena, takže Printf ani PRINTF fungovat nebudou. Když je v programu taková chyba nebo třeba chybí středník, překladač program nespustí a pod výstupem ukáže červenou chybovou hlášku. Nelekejte se: zkontrolujte řádek, opravte ho a program spusťte znovu. Chybové hlášky se naučíte číst později v této lekci.

Ještě jedna věc: programy na tomto webu umějí jen vypisovat. Nemohou číst, co píšete na klávesnici, a proto všechno, s čím pracují, musí být zapsané přímo v programu.

Pokyny

V editoru je program z ukázky. Klikněte na Spustit pod editorem a podívejte se do výstupu (na telefonu na kartě Výstup). První spuštění může trvat pár sekund, než se načte překladač.

Pak změňte text v uvozovkách tak, aby program vypsal tradiční první větu každého programátora:

Ahoj, světe!

Znaky \n na konci textu nechte, jak jsou.

Pod první printf přidejte druhý, který na další řádek vypíše vaše jméno. Napište ho ještě nad řádek return 0;, protože tam program končí a příkazy pod ním by se už nikdy neprovedly. Nezapomeňte na uvozovky, \n a středník na konci.

Začněte programovat zdarma

Registrací souhlasíte s provozními podmínkami a zásadami ochrany osobních údajů.

Nebo se registrujte pomocí:

1/7