Programovací jazyk C
Jazyk C byl vytvořen v sedmdesátých letech dvacátého století. Jeho vznik je úzce spojený s vývojem Unixu. Tvůrci jazyka jsou Ken Thompson a Dennis Ritchie. Norma jazyka tzv. ANSI C pochází z roku 1989, aktualizována byla ve standardu C11.
V jazyce C jsou napsané operační systémy, ovladače i běžné aplikace. Význam čistého C se pomalu zmenšuje hlavně ve prospěch C++ a skriptovacích jazyků. Ze syntaxe jazyka C ale mnohé z nich vycházejí (C++, Java, Php).
Jazyk C je kompilační jazyk, vyžaduje tedy kompilátor (překladač). Jedná se o vyšší programovací jazyk, procedurální, přísně typový. V Céčku je velmi dobrá práce s pamětí. Kód napsaný podle ANSI C je přenositelný, neváže se na konkrétní počítač nebo operační systém.
Součástí ANSI C jsou i standardní knihovny, které umožňují používat speciální funkce např. pro terminálový vstup a výstup, pro práci s řetězci atd. Pokud v programování nevystačíme se standardními knihovnami, můžeme použít množství dalších, které jsou součástí jednotlivých prostředí nebo i volně ke stažení na internetu.
Zpracování programu v jazyce C
EDITOR - program v jazyce C, tzv. zdrojový kód, můžeme napsat v jednoduchém textovém editoru. Jeho výstupem je soubor s příponou .c (případně .cpp). Je vhodné nepoužívat v názvech souborů české znaky a mezery.
KOMPILÁTOR - PŘEKLADAČ - textový soubor nejdřív zpracuje preprocesor, který zdrojový kód částečně upraví. Vloží hlavičkové soubory, odstraní komentáře, nahradí symbolické konstanty a pod. Preprocesor je součástí překladače. Potom překladač přeloží příkazy, vznikne tzv. relativní kód (s příponou .obj nebo .o). V případě, že se v programu vyskytnou formální chyby, je nutné je opravit a kód znovu zkompilovat.
LINKER - SESTAVOVACÍ PROGRAM - poslední fází je propojení relativního kódu a knihovních souborů (.lib). Výsledkem je spustitelný soubor (ve Windows s příponou .exe).
Pokud spustitelný program nefunguje podle našich představ - dává např. špatné výsledky, musíme program přepsat. Procesu hledání logických chyb říkáme ladění programu. K tomu je možné využít ladící program tzv. debugger.
Editor, překladač a linker jsou většinou přímo součástí vývojového prostředí např. Visual Studio, Bloodshed Dev-C++, Code::Blocks, NetBeans.
Struktura programu
Následující příklad použijeme pro popis struktury jednoduchého programu. Program vypíše na obrazovku uvedený text.
#include <stdio.h> #include <stdlib.h> int main() { //nasleduji prikazy jazyka C printf("Prvni program v C \n"); system("pause"); return 0; }
Direktivu include používáme pro vložení hlavičkových souborů, které obsahují deklarace speciálních funkcí. Hlavičkový soubor stdio.h potřebujeme pro použití funkcí např. pro vstup z klávesnice a výstup na obrazovku. Do programu můžeme vložit několik hlavičkových souborů. Kvůli funkci system() použijeme ještě hlavičkový soubor stdlib.h.
Hlavní funkce main() obsahuje příkazy, které se při spuštění programu postupně vykonávají. Příkazy jsou označeny jako blok, t.j. jsou uzavřeny ve složených závorkách. Na začátku bloku se v jazyce C obvykle uvádějí deklarace proměnných. V našem prvním programu žádné proměnné nepoužíváme. V jazyce C obsahuje zdrojový kód jedinou funkci main(). Obvykle ale obsahuje ještě další funkce, jak si ukážeme v dalších kapitolách.
Příkaz funkce printf() vypíše text na obrazovku. Blíže je popsaná v kapitole Vstup a výstup. Funkce system("pause") čeká po vykonání programu na zmáčknutí klávesy. Je jednou z možností, jak pozastavit průběh programu. Kdybychom ji nepoužili, okno programu se hned po jeho vykonání zavře. Další možnost pozastavení programu před jeho ukončením je nastavit tuto volbu přímo v nabídce prostředí DevCpp. Program končí příkazem return 0.