Kapitola 2. Základy jazyka C

Obsah

2.1. Prvky programu jazyka C
2.2. První programy
2.3. Jednoduchý vstup a výstup
2.4. Opakování

Časová náročnost
Časová náročnost kapitoly: 30 minut

V této části si řekneme něco o základní struktuře programů v jazyce C a napíšeme si první programy pro načítání a zobrazování čísel zadaných z klávesnice.

2.1. Prvky programu jazyka C

Časová náročnost
Časová náročnost: 7 minut

Všechny programy v jazyku C sdílejí určité základní součásti a vlastnosti. Všechny programy v jazyku C se skládají z jedné nebo více funkcí. z nichž každá obsahuje jeden nebo více příkazů. Funkce je v jazyku C pojmenovaný podprogram, který lze volat z jiných částí programu. Funkce jsou základními stavebními kameny jazyka C.

Všechny příkazy jazyka C končí středníkem. Jazyk C nepovažuje konec řádku za ukončení příkazu. Na jednom řádku tedy můžeme umístit i dva nebo více příkazů a jeden příkaz může pokračovat přes více řádků.

upozornění

Obecný formát funkce v jazyku C je uveden zde:

návratový-typ jméno-funkce (seznam-parametrů)
{
posloupnost příkazů
}

Položka návratový-typ určuje typ dat vrácených funkcí.

Položka jméno-funkce určuje jméno funkce.

Informace lze funkci předávat pomocí jejich parametrů, které jsou uvedeny v seznamu parametrů funkce seznam-parametrů.

Položka posloupnost příkazů může být jeden nebo více příkazů. Teoreticky by funkce nemusela obsahovat žádný příkaz, ale protože by v takovém případě neprováděla žádnou činnost, nemělo by to v praxi žádný význam.

format_fc.swf
Flashová animace
Kliknutím na ikonu spustíte test.

2.2. První programy

Jelikož všechny programy v jazyku C sdílejí společné vlastnosti, pochopení jednoho programu nám pomůže pochopit mnoho dalších.

src/prog_1.c
Příklad 2.1.
/******************************
*	prog_1.c
*	19.03.2002
******************************/

#include <stdio.h>

int main (void)
{
 printf("Jednoduchy program napsany v jazyce C");
 
 return 0;
}

Po přeložení a spuštění vypíše tento program na obrazovku počítače zprávu Jednoduchy program napsany v jazyce C.

Projděme si nyní tento program krok po kroku.

První řádek programu je:

	#include <stdio.h>

To způsobí, že překladač jazyka C přečte soubor STDIO.H a začlení jej do programu. Tento soubor obsahuje mimo jiné informace o funkci printf().

Druhý řádek:

int main (void)

začíná funkci main(). Položka int určuje, že main() vrátí celočíselnou hodnotu. Položka void říká překladači, že main() nemá žádné parametry.

Třetí řádek:

printf("Jednoduchy program napsany v jazyce C"};

Je příkaz jazyka C. Volá standardní knihovní funkci printf(), která zobrazí zadaný řetězec znaků.

Následující řádek:

return 0;

Podle konvencí indikuje nulová vrácená hodnota z funkce main() normální ukončení programu. Jakákoliv jiná hodnota představuje chybu. Operační systém může tuto hodnotu otestovat, aby zjistil, zda program proběhl úspěšně, nebo zda došlo k chybě. Položka return je jedním z klíčových slov jazyka C.

Nakonec je program formálně ukončen, když dojde na uzavírací závorku funkce main().

Pro úplné pochopení základů jazyka C si uvedeme ještě jeden jednoduchý program:

src/prog_2.c
Příklad 2.2.
/******************************
*	prog_2.c
*	19.03.2002
******************************/

#include <stdio.h>

int main (void)
{
 printf("Dalsi jednoduchy program ");
 printf("napsany v ");
 printf("jazyce C");  
 
 return 0;
}

Tento program vypíše na obrazovku Dalsi jednoduchy program napsany v jazyce C.

2.3. Jednoduchý vstup a výstup

Časová náročnost
Časová náročnost: 8 minut

Přestože existuje několik způsobů jak číst hodnoty z klávesnice jedna z nejjednodušších variant je použít jednu ze standardních funkcí jazyka C nazvanou scanf().

upozornění

Pro jednoduchost si ukážeme jak přečíst celočíselnou hodnotu zadanou z klávesnice. Pro načtení této celočíselné hodnoty volejme funkci scanf() v obecném tvaru:

scanf("%d", &jmeno-celociselne-promenne);

kde jmeno-celociselne-promenne je jméno celočíselné proměnné do níž chceme uložit hodnotu. Prvním argumentem scanf() je řetězec, který určuje jak bude zpracován druhý argument. V našem případě %d určuje, že do druhého argumentu bude zadána celočíselná hodnota v desítkovém tvaru. Znak & je pro funkci scanf() velmi důležitý. Umožňuje totiž vložit hodnotu do jednoho z argumentů funkce.

upozornění

Když zadáváme číslo z klávesnice, píšeme jednoduše řetězec číslic. Funkce scanf() čeká dokud nestiskneme ENTER, pak převede řetězec do dvojkového formátu.

Vše si opět nejlépe demonstrujeme na příkladu:

Naším úkolem je načíst celé číslo. Po jeho zadání se na obrazovku vytiskne naše zadané číslo.

src/prog_3.c
Příklad 2.3.
/******************************
*	prog_3.c
*	19.03.2002
******************************/

#include <stdio.h>

int main (void)
{
 int cislo;

 printf("Zadej cele cislo: ");
 scanf("%d",&cislo);
 
 
 printf("Zadal jsi: ");
 printf("%d", cislo);  
 
 return 0;
}

2.4. Opakování

Cvičení
Cvičení

Úkol k textu

Zadání 1)

Napište program, který načte dvě celá čísla a poté vytiskne jejich součet.
Řešení