Jak se naučit programovat v C

V tomto článku:PřípravaPoužití proměnnýchPoužití podmínekSeznámení s cyklyPoužití funkcíPokračujte v učeníReference

C je jedním z nejstarších programovacích jazyků, byl vyvinut v 70. letech. Díky tomu, že jde o jazyk hodně nízkoúrovňový, je však stále velmi výkonný. Učit se C je skvělým způsobem, jak se dostat do světa komplexnějších programovacích jazyků. Získané znalosti se vám budou hodit při práci s takřka jakýmkoliv programovacím jazykem a pomohou vám i v začátcích vývoje aplikací. Pokračujte na 1. krok a naučte se programovat v C.

Část 1
Příprava

  1. 1
    Stáhněte a nainstalujte si kompilátor. 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.
  2. 2
    Pochopte základy. 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.
  3. 3
    Prozkoumejte základní kód. 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;
    }
    
    [1]
    • 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.
  4. 4
    Zkuste program zkompilovat. 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)).
  5. 5
    Vždy svůj kód komentujte. 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.

Část 2
Použití proměnných

  1. 1
    Pochopte, k čemu proměnné slouží. 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.
  2. 2
    Naučte se deklarovat proměnné. 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.
  3. 3
    Naučte se, kde proměnné deklarovat. 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.
  4. 4
    Využijte proměnné k uložení uživatelského vstupu. 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.
  5. 5
    Pracujte s proměnnými. 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 */
    

Část 3
Použití podmínek

  1. 1
    Pochopte základy podmínek. 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.
  2. 2
    Naučte se základní podmínkové znaky. 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
    
  3. 3
    Vytvořte základní podmínku s IF. 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();
    }
    
  4. 4
    Použijte výrazy ELSE („jinak“)/ELSE IF („nebo pokud“) pro rozšíření podmínky. 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;
    }
    
    [2]
    • 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.

Část 4
Seznámení s cykly

  1. 1
    Zjistěte, jak cykly fungují. 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“).
  2. 2
    Použijte cyklus FOR. 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. [3]
    #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ší.
  3. 3
    Použijte cyklus WHILE. 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ší.
  4. 4
    Použijte cyklus DO...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čí.

Část 5
Použití funkcí

  1. 1
    Pochopte základy funkcí. 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.
  2. 2
    Začněte náčrtem. 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.
  3. 3
    Přidejte funkci do programu. 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.

Část 6
Pokračujte v učení

  1. 1
    Najděte si pár knížek o programování v C. 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.
  2. 2
    Spojte se s komunitou. 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ů.
  3. 3
    Zapište se do kurzu. 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.
  4. 4
    Zvažte, zda se nenaučit C++. 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.

Tipy

  • Vždy komentujte své programy. Pomůžete tím nejen ostatním, kteří by mohli váš zdrojový kód prohlížet, ale také sami sobě v zapamatování toho, co a proč píšete. Ve chvíli, kdy kód píšete, možná víte přesně, co děláte. Po dvou či třech měsících si toho však už moc pamatovat nebudete.
  • Nezapomeňte vždy ukončovat výrazy jako printf(), scanf(), getch() apod. středníkem (;). Nikdy jej však nepište po řídících výrazech typu 'if', 'while' nebo 'for'.
  • Když se při kompilaci setkáte s chybou v syntaxi a jste bezradní, vyhledejte si získanou chybu pomocí Google (nebo jiného vyhledávače). Je šance, že někdo jiný už stejný problém zažil a napsal, jak jej vyřešil.
  • Váš zdrojový kód musí mít koncovku *.c, aby kompilátor věděl, že jde o zdrojový soubor v C.
  • Pořád si opakujte, že cvičení dělá mistra. Čím více si psaní programů procvičujete, tím jste v tom lepší. Začněte tedy s jednoduchými krátkými programy, dokud nebudete cítit pevnou půdu pod nohama. Jakmile získáte dostatečné sebevědomí, přejděte na složitější programy.
  • Snažte se naučit logické myšlení. Pomůže vám to vypořádat se při psaní kódu s rozličnými problémy.

Informace o článku

wikiHow je "wiki", což znamená, že na jednom článku se podílí více autorů. Na vytvoření tohoto článku se podílelo 47 lidí, někteří anonymně, aby jej v průběhu času vylepšili.

Kategorie: Používání webových aplikací

V jiných jazycích:

English: Learn to Program in C, Español: aprender a programar en C, Русский: научиться программировать на C, Português: Programar em C, Français: programmer en langage C, Deutsch: Mit C programmieren lernen, 中文: 学习C语言编程, Italiano: Imparare a Programmare Usando il Linguaggio C, Bahasa Indonesia: Belajar Memrogram dengan C, Nederlands: Programmeren in C, العربية: تعلم البرمجة بلغة السي C, हिन्दी: C प्रोग्राम बनाना सीखें, ไทย: หัดเขียนโปรแกรมด้วยภาษา C, Tiếng Việt: Học Lập trình C, 한국어: C언어 프로그래밍 공부법

Stránka byla zobrazena 2 248 krát.
Byl tento článek přesný?