1. lekce - SEZNÁMENÍ S PROGRAMEM BLOODSHED DEV-C++
A začneme s prvním programem!! I když je to neuvěřitelné každý programátor začínal nějak podobně jako teď my. Náš první program bude spočívat v tom, že nám program vytiskne na obrazovku větu "Hello World!".
Jen bych chtěl podotknout, neopisujte čísla řádků.
/*------------------------------------------------*/
#include <iostream>
1. int main()
2. {
3. std::cout << "Hello World!\n";
4. system("PAUSE");
5. return 0;
6. }
/*------------------------------------------------*/
Toto je zdrojový kód našeho programu. Teď ho stačí jen zkompilovat a spustit pomocí klávesy F9, nebo lépe vybrat Spustit -> Zkompilovat a pokud nám kompilátor dole nehlásí žádnou chybu, pak můžeme program spustit ? Spustit ->Spustit.
Jestliže se ti na obrazovce vytiskla věta " Hello World!", tak v tom případě blahopřeji, protože jsi úspěšně zapsal, zkompiloval a spustil svůj první program.
Pokud máme v programu chybu, kompilátor nám ukáže na kterém řádku je chyba a nám nezbývá nic jiného než tuto chybu opravit a spustit program znovu. Tady si můžeme vyzkoušet stejný prográmek s úmyslně zanesenou chybou.
/*------------------------------------------------*/
#include <iostream>
int main()
{
std::cout << "Hello World!\n";
system("PAUSE");
return 0
}
/*------------------------------------------------*/
Jak vidíte kompilátor nám ohlásil chybu na řádku 7, dále nám dole vyskočilo okénko s chybovým hlášením, které píše "syntax error before `(' token".
Tuto chybu si můžeme přeložit tak, že nám na předcházejícím řádku chybí na konci středník. Nyní chybu opravme a spusťme znovu program.
Teď si dáme trochu teorie, a vysvětlíme si co jednotlivé příkazy znamenají:
Prvním znakem je # , což je signál pro preprocesor. Preprocesor se spustí při každém spuštění kompilátoru. Projde si zdrojový kód a najde řádky, které začínají symbolem (#). S těmito řádky pracuje ještě před spuštěním samotného kompilátoru. Příkaz include je instrukce pro preprocesor, která mu říká: "To, co následuje, je název souboru. Najdi tento soubor a vlož jeho obsah přímo do tohoto místa programu." Lomené závorky kolem názvu souboru preprocesoru říkají, aby tento soubor hledal na všech obvyklých místech. Pokud je tvůj kompilátor správně nastaven, lomené závorky znamenají, že preprocesor bude soubor iostream hledat v adresáři, který pro tvůj kompilátor uchovává všechny soubory, jež jsou obvykle předmětem operace zahrnutí. Soubor iostream používá objekt cout , který zajišťuje psaní na obrazovku. Výsledkem řádku 1 bude zahrnutí souboru iostream do tohoto programu, jako kdybyste jeho obsah do programu napsali sami. Preprocesor běží vždy před tím, než dojde k zavolání samotného kompilátoru. Každý řádek, který začíná symbolem # , přeloží preprocesor do zvláštního příkazu a připraví soubor s výsledným kódem pro kompilátor.
Na řádku 2 začíná vlastní program, a to funkci s názvem main() . Každý program C++ má funkci main() . Funkci rozumíme úsek kódu, který provádí jednu nebo více akcí. Funkce jsou obvykle spuštěny nebo zavolány jinými funkcemi, ale funkce main() má zvláštní význam je zavolána automaticky ihned po spuštění programu jako první.
Podobně jako v případě jiných funkcí musí být i u funkce main() stanoveno, jaký typ hodnoty bude vracet. Typ vrácené hodnoty funkce main() v programu Hello.cpp je int což znamená, že tato funkce vrátí operačnímu systému po svém ukončení celočíselnou hodnotu. V našem případě vrací celočíselnou hodnotu 0, jak můžeme vidět na řádku 6. Vracení hodnoty operačnímu systému je relativně nepodstatná a málo používaná vlastnost, ale standard C++ vyžaduje, aby byla funkce main() deklarována výše uvedeným způsobem.
Všechny funkce jsou ohraničeny počáteční ( { ) a koncovou ( } ) složenou závorkou.
Na řádcích 3 a 7 jsou závorky k funkci main() . Vše, co je mezi těmito závorkami, se považuje za součást dotyčné funkce.
Nejpodstatnější část celého programu najdeme na řádku 4. Pro tisk na obrazovku se používá objekt cout . V jazyce C++ se objekt count se používá pro zajištění výstupu (například na obrazovku) a objekt cin, (s kterým se setkáme později) zajišťuje vstup (například z klávesnice). Objekt count je nabízen standardní knihovnou. Knihovnou rozumíme sbírku tříd a standardní knihovna je standardní sbírka, která je součástí každého kompilátoru splňujícího standard ANSI (Komise , která pracuje pod hlavičkou amerického ústavu pro standardizaci American National Standards Institute, vytvořila pro jazyk C++ mezinárodní standard.)
Specifikátor oboru názvů std kompilátoru oznamuje, že objekt cout , který chcete použít, je součástí standardní knihovny, jejíž název je právě std . Protože v různých knihovnách či programových modulech mohou existovat objekty se stejným názvem, rozděluje C++ vše do tak zvaných "oborů názvů" (neboli názvových prostorů - anglicky "namespace"). Kompilátoru se jeho použitím oznamuje: "Následující jméno cout je jméno, které je součástí standardního oboru názvů std a žádného jiného oborů názvů." Syntaxe vypadá tak, že před cout jsou umístěny znaky std , za nimiž následují dvě dvojtečky. (std kompilátoru říká "z které zásuvky má vybrat příkaz count, aby tento příkaz provedl výpis na obrazovku")
Objekt cout se používá takto: Napíšete slovo cout a za ně operátor přesměrování výstupu ( << ). Cokoli následuje za operátorem přesměrování výstupu, objeví se na obrazovce. Jestliže chcete, aby se vypsal řetězec znaků, nezapomeňte jej dát do uvozovek ( " ), kterých si můžete všimnout i na našem řádku 4. Znak \n říká objektu cout , aby za slovy "Nazdar Lidi!" zalomil řádek. Řádek 4. system("PAUSE") nám zaručí to, že po spuštění programu se nám console hned nevypne, ale bude čekat na stisknutí libovolné klávesy. Na posledním řádku 7 je závorkou ukončena funkce main() .
Tím uzavírám trochu teorie a zkusíme si nějaký ten příklad...
Napište program, který vytiskne na obrazovku větu "Jsem programátor v C++".
Řešení bude v další lekci.