Pokračujte v učení Použití podmínek Použití funkcí Příprava Seznámení s cykly Použití proměnných
Tento článek sice pokrývá úplné základy, programování v C a všech s tím spojených znalostí se však dotýká jen letmo. Dobrá referenční příručka vám v dlouhodobém horizontu pomůže při řešení problémů a ušetří vám spoustu hodin bolehlavu. Skupin věnovaných programování a s ním spojeným programovacím jazykům existuje spousta, a to jak v reálném světě, tak na internetu. Najděte si podobně naladěné programátory v C, se kterými si můžete vyměňovat kód i nápady, a brzy zjistíte, že jste se toho spoustu naučili.  Pokud můžete, účastněte se hack-a-thonů. Jsou to akce, na kterých musí jednotlivci a týmy vytvářet programy a nacházet řešení v časovém limitu, a které hodně rozvíjí kreativní myšlení. Hack-a-thony se konají pravidelně po celém světě a můžete na nich potkat spoustu dobrých programátorů. Nemusíte rovnou jít znovu studovat a získat diplom z IT, účast na několika kurzech vám přesto může zázračně pomoci v učení. Nic se nevyrovná přímé pomoci od člověka, který je v daném jazyku zběhlý. Často můžete kurzy najít v místních zájmových sdruženích či v přípravných kroužcích pro mládež. I některé vysoké školy umožňují zájemcům navštěvovat jejich IT obory, aniž by se museli zapsat. Jakmile zvládnete C, neuškodí vám, když se podíváte i na C++. Jde o modernější verzi C, která je mnohem flexibilnější. C++ je navrženo pro práci s myšlenými objekty a jeho zvládnutím si otevřete cestu k vytváření výkonných programů pro téměř jakýkoliv operační systém. Podmínky jsou tím, co většinu programů řídí. Jde o tvrzení, která mohou být vyhodnocena buďto jako pravdivá (TRUE), nebo jako nepravdivá (FALSE). Program pak postupuje dále na základě těchto výsledků. Nejzákladnější podmínkou je if („pokud“).       TRUE a FALSE fungují v C jinak, než jste možná zvyklí. Údaj TRUE je vždy roven nenulovému číslu. Pokud provede porovnání a výsledkem je TRUE, vrátí se vám "1". Pokud je výsledkem FALSE, je vrácena "0". Když si toto uvědomíte, pomůže vám to pochopit, jak fungují podmínky IF. Podmínky se točí okolo využití matematických operátorů pro porovnávání hodnot. Následující seznam obsahuje nejběžněji používané podmínkové znaky.   >   /* větší než */ <   /* menší než */ >=  /* větší nebo rovno */ <=  /* menší nebo rovno */ ==  /*je rovno*/ !=  /* není rovno*/     10 > 5 TRUE 6 < 15 TRUE 8 >= 8 TRUE 4 <= 8 TRUE 3 == 3 TRUE 4 != 5 TRUE IF můžete použít k rozhodnutí, co má program dělat po vyhodnocení podmínky. Později můžete IF zkombinovat s dalšími podmínkami, čímž výrazně rozšíříte své možnosti, prozatím však na seznámení vytvořte jen jednoduchou IF podmínku.   #include <stdio.h>  int main() {   if ( 3 < 5 )     printf( "3 je mensi nez 5");     getchar(); } Podmínku IF můžete rozšířit použitím výrazů ELSE a ELSE IF, které vám umožní pracovat s rozdílnými výsledky. Výraz ELSE proběhne, když je podmínka IF vyhodnocena jako FALSE. Výraz ELSE IF vám umožní do jednoho bloku kódu vložit více podmínek IF, díky čemuž můžete podchytit nejrůznější vzniklé situace. Podívejte se na ilustrační program níže, kde uvidíte, jak tyto výrazy společně fungují.   #include <stdio.h>  int main() {   int vek;    printf( "Zadejte prosim svuj auktualni vek: " );   scanf( "%d", &vek );   if ( vek <= 12 ) {     printf( "Jsi male dite! \n" );   }   else if ( age < 20 ) {     printf( "Byt v puberte je docela fajn! \n" );   }   else if ( vek < 40 ) {     printf( "Duchem jste porad mladi! \n" );   }   else {     printf( "S vekem prichazi moudrost. \n" );   }   return 0; }    Program vezme uživatelem zadaný vstup a prožene jej podmínkou IF. Pokud číslo splňuje první podmínku, pak je vrácena první zpráva printf. Pokud první podmínka splněna není, je vstup protažen každou podmínkou ELSE IF, dokud se nenajde ta, které vstup odpovídá. Pokud vstup neodpovídá žádné z podmínek, nakonec vyjde ven přes podmínku ELSE. Funkce jsou samostatné bloky kódu, které lze vyvolat jinými částmi programu. Usnadňují znovupoužití kódu a pomáhají udržet program jednoduše čitelný a upravitelný. Funkce mohou obsahovat dříve použité techniky, které jste se v tomto článku už naučili, a také další funkce.       Řádek main() na začátku všech výše uvedených příkladů je funkcí, stejně jako příkaz getchar()  Funkce jsou zásadní pro tvorbu snadno čitelného kódu. Vytvářejte dobře použitelné funkce a zpřehledníte svůj program. Funkce nejlépe vytvoříte tak, že si před samotným kódováním nastíníte, jakou funkcionalitu od nich vyžadujete. Základní syntaxe funkce je "vracená_hodnota jméno ( argument1, argument2, atd.);". Například pro vytvoření funkce sčítající dvě čísla napište:   int secti ( int x, int y );    Tak vytvoříte funkci, která sečte dva integery (x a y), a následně vrátí jejich součet jako integer. Tento návrh můžete použít k vytvoření programu, který vezme a sečte dva integery zadané uživatelem. Program definuje, jak funkce "secti" funguje, a požije ji pro práci se zadanými čísly.   #include <stdio.h>  int secti ( int x, int y );  int main() {   int x;   int y;    printf( "Zadejte dve cisla, ktera chcete secist: " );   scanf( "%d", &x );   scanf( "%d", &y );   printf( "Soucet vasich cisel je %d\n" , secti( x, y ) );   getchar(); }  int secti ( int x , int y ) {   return x + y; }    Všimněte si, že předpis funkce je stále zapsán na začátku programu. To říká počítači, co má očekávat po zavolání funkce, a co má poté funkce vrátit. To je nutné jen v případě, že chcete funkci definovat níže v programu. Mohli byste funkci secti() definovat před main() a výsledek by byl totožný i bez předpisu.  Skutečná funkcionalita funkce je definována na konci programu. Funkce main() shromáždí od uživatele integery, které následně pošle ke zpracování funkci secti(). Funkce secti() pak vrací výsledek do main()  Od chvíle, kdy je funkce secti() definována, může být vyvolána v kterémkoliv místě programu. Kód v jazyce C musí být zkompilován programem, který jej interpretuje na strojově srozumitelné signály. Kompilátory jsou obvykle zdarma a existují různé varianty pro jednotlivé operační systémy.       Pro Windows vyzkoušejte Microsoft Visual Studio Express, nebo MinGW. Pro Mac je pak jedním z nejlepších C kompilátorů XCode. Pro Linux patří k nejpopulárnějším gcc. C patří mezi starší programovací jazyky a může být velice mocným nástrojem. Byl navržen pro Unixové operační systémy, poté se však přesunul a rozšířil na takřka všechny moderní operační systémy. Moderní verzí C je C++.       C se v podstatě skládá z funkcí, v nichž můžete používat proměnné, podmínky či cykly, a také ukládat data a pracovat s nimi. Podívejte se na (velmi) jednoduchý program níže, abyste pochopili, jak spolu pracují některé z mnoha prvků tohoto jazyka, a zjistili, jak programy fungují.   #include <stdio.h>  int main()  {     printf("Ahoj, svete!\n");     getchar();     return 0; }    Před začátkem programu se objevuje příkaz #include, který načte knihovny s potřebnými funkcemi. V tomto příkladu nám knihovna stdio.h umožní používat funkce printf() a getchar().  Příkaz int main() říká kompilátoru, že v programu běží funkce s názvem "main", a že tato funkce po skočení vrátí integer (celé číslo). Funkce "main" běží ve všech programech jazyka C.  Složené závorky {} znamenají, že cokoliv mezi nimi je součástí funkce. V tomto případě značí, že vše uvnitř závorek patří do funkce "main". Funkce printf() vypisuje obsah závorek na obrazovku uživatele. Uvozovky zabezpečí, že je v nich zapsaný řetězec zobrazen do písmene přesně. Sekvence \n říká kompilátoru, aby posunul kurzor na další řádek.  Středník ; označuje konec řádku. Většina řádků v C musí končit právě středníkem.  Příkaz getchar() říká počítači, aby vyčkal na stisknutí klávesy, než bude postupovat dále. To se hodí, neboť spousta kompilátorů zavře okno s programem hned po tom, co jej spustí. Tímto zabráníte programu doběhnout do konce, dokud nestisknete klávesu.  Příkaz return 0 značí konec funkce. Všimněte si, že funkce "main" je typu int. To znamená, že jakmile program skončí, funkce musí vrátit nějaký integer. "0" znamená, že se program vykonal správně; jakékoliv jiné číslo pak znamená, že program narazil na chybu. Vložte kód do svého editoru a uložte jej jako soubor „*. c“. Zkompilujte jej v kompilátoru (obvykle kliknutím na tlačítka Build (Sestavit), nebo Run (Spustit)). Komentáře jsou částí kódu, která není kompilována, umožňují vám však vysvětlit, co se v programu děje. To se hodí nejen jako připomínka funkce kódu pro vás samotné, ale také jako pomoc pro ostatní vývojáře, kteří by si váš kód mohli prohlížet.       Při komentování umístěte /* na začátek komentáře a */ na jeho konec.        Komentujte všechny části svého kódu krom těch nejprimitivnějších.  Komentáře můžete použít pro rychlé odstranění části kódu bez toho, abyste ji mazali. Jednoduše uzavřete kód, který chcete vyloučit, mezi komentářové tagy, a poté kompilujte. Pokud chcete kód zařadit zpět, odstraňte komentářové tagy. Cykly jsou v programování jedním z nejdůležitějších prvků, jelikož vám umožní opakovat bloky kódu tak dlouho, dokud nejsou splněny specifické podmínky. To velmi usnadňuje opakování akcí, a také odstraňuje nutnost psát novou podmínky pokaždé, když se má v programu něco stát.       Existují tři hlavní typy cyklů: FOR („pro“), WHILE („dokud“) a DO...WHILE („prováděj... dokud“). Jde o nejběžnější a nejužitečnější druh cyklu. Nechá funkci běžet tak dlouho, dokud nejsou podmínky definované v cyklu splněny. FOR cykly vyžadují tři podmínky: nastavení počáteční proměnné, podmínku, kterou je třeba splnit, a způsob, jakým se proměnná mění. I pokud tyto podmínky nepotřebujete všechny, musíte na jejich místě udělat mezeru se středníkem, jinak cyklus poběží do nekonečna.   #include <stdio.h>  int main() {   int y;    for ( y = 0; y < 15; y++;){     printf( "%d\n", y );   }   getchar(); }    V programu výše je proměnná y nastavena na 0 a cyklus pokračuje tak dlouho, dokud je hodnota proměnné y menší než 15. Vždy, když je hodnota proměnné y vypsána, je k této hodnotě přičteno 1. Cyklus se pak zopakuje. Jakmile platí y = 15, cyklus se přeruší. Cykly WHILE jsou jednodušší než FOR. Mají jen jedinou podmínku a cyklus se opakuje tak dlouho, dokud je tato podmínka platná. Tuto proměnnou pak nemusíte inicializovat ani aktualizovat, lze to nicméně udělat v těle cyklu.   #include <stdio.h>  int main() {   int y;    while ( y <= 15 ){     printf( "%d\n", y );     y++;   }   getchar(); }    Příkaz y++ přičítá k proměnné y 1 pokaždé, když se cyklus vykoná. Jakmile je y rovno 16 (pamatujte, tento cyklus běží tak dlouho, dokud je y menší nebo rovna 15), cyklus se přeruší. ..WHILE. Hodí se, když potřebujete zajistit, aby se cyklus vykonal alespoň jednou. U cyklů FOR a WHILE je podmínka ověřována na začátku cyklu, což znamená, že se může ukázat jako neplatná a cyklus se vůbec nemusí provést. Cyklus DO...WHILE ověřuje podmínky na konci cyklu, zajišťuje proto alespoň jedno provedení.   #include <stdio.h>  int main() {   int y;    y = 5;   do {     printf("Tento cyklus probiha!\n");   } while ( y != 5 );   getchar(); }    Tento cyklus zobrazí danou zprávu i přes to, že je podmínka neplatná (FALSE). Proměnná y má přiřazenou hodnotu 5 a cyklus WHILE je nastaven tak, aby proběhl jen, když se y nerovná 5, takže vzápětí skončí. Zpráva však už byla vypsána, jelikož se podmínka vyhodnotila až na konci cyklu.  Cyklus WHILE v sestavě DO...WHILE musí být ukončen středníkem. Jde o jediný případ, kdy cyklus středníkem končí. Umožňují vám ukládat data jak z výpočtů programu, tak z uživatelských vstupů. Dříve, než je poprvé použijete, musíte proměnné definovat. Existuje několik typů proměnných, mezi kterými si můžete vybírat.       Z nejběžnějších typů proměnných jsou to: int, char a float. V každém z nich je uložený jiný typ dat. Než mohou být proměnné v programu použity, musí být nejprve založeny, neboli „deklarovány“. Proměnnou deklarujete tak, že zadáte její datový typ, po kterém následuje jméno proměnné. Následující příklady jsou platnými deklaracemi proměnných:   float x; char jmeno; int a, b, c, d;    Všimněte si, že můžete deklarovat více proměnných na jednom řádku, pokud jsou všechny stejného typu. Jména proměnných jednoduše oddělte čárkami.  Stejně jako mnoho jiných řádků v C, i každý řádek deklarace proměnné musí končit středníkem. Proměnné musí být deklarovány na začátku bloku kódu (tedy kusu kódu, které je uzavřen složenými závorkami {}). Pokud se budete pokoušet proměnné deklarovat dále v bloku, program nebude správně fungovat. Teď už zhruba víte, jak proměnné fungují, takže můžete napsat jednoduchý program, který uloží vstup uživatele. V programu použijete další funkci, nazvanou scanf. Tato funkce vyhledá ve vstupních datech specifické hodnoty.   #include <stdio.h>  int main() {   int x;    printf( "Vlozte cislo: " );   scanf( "%d", &x );   printf( "Vlozili jste %d", x );   getchar();   return 0; }    Řetězec "%d" říká funkci scanf, aby hledala ve vstupu od uživatele integery.  Znak & před proměnnou x říká, kde scanf najde proměnnou, kterou má změnit, a uloží do této proměnné zadaný integer.  Poslední příkaz printf vypíše zadaný integer znovu uživateli. Pro práci s daty uloženými v proměnných můžete používat matematické výrazy. Nejdůležitějším rozdílem, který si musíte zapamatovat, je to, že jedno znaménko rovnosti = přiřazuje proměnné hodnotu, zatímco dvě znaménka rovnosti == porovnávají, zda jsou hodnoty na obou stranách výrazu shodné.  x = 3 * 4; /* přiřazuje "x" hodnotu 3 * 4, neboli 12 */ x = x + 3; /* přičítá 3 k původní hodnotě "x" a novou hodnotu pak proměnné přiřazuje */ x == 15; /* zjišťuje, zda je "x" rovno 15 */ x < 10; /* zjišťuje, zda je "x" menší než 10 */
Najděte si pár knížek o programování v C. Spojte se s komunitou. Zapište se do kurzu. Zvažte, zda se nenaučit C++. Pochopte základy podmínek. Naučte se základní podmínkové znaky. Vytvořte základní podmínku s IF. Použijte výrazy ELSE („jinak“)/ELSE IF („nebo pokud“) pro rozšíření podmínky. Pochopte základy funkcí. Začněte náčrtem. Přidejte funkci do programu. Stáhněte a nainstalujte si kompilátor. Pochopte základy. Prozkoumejte základní kód. Zkuste program zkompilovat. Vždy svůj kód komentujte. Zjistěte, jak cykly fungují. Použijte cyklus FOR. Použijte cyklus WHILE. Použijte cyklus DO. Pochopte, k čemu proměnné slouží. Naučte se deklarovat proměnné. Naučte se, kde proměnné deklarovat. Využijte proměnné k uložení uživatelského vstupu. Pracujte s proměnnými.
https://www.wikihow.com/Learn-to-Program-in-C https://www.wikihow.com/Learn-to-Program-in-C https://www.wikihow.com/Learn-to-Program-in-C https://www.wikihow.com/Learn-to-Program-in-C https://www.wikihow.com/Learn-to-Program-in-C https://www.wikihow.com/Learn-to-Program-in-C
Continuing to Learn Using Conditional Statements Using Functions Getting Ready Learning Loops Using Variables