reklama
Naučit se programovat je kumulativní zkušenost. Kromě učení syntaxe vámi zvoleného jazyka se musíte také naučit obecné principy, které používají všechny programovací jazyky.
Pochopit a naučit se programování v C může být skličující, ale existuje několik základních myšlenek, které stojí za to se na začátku seznámit. Jednoduchý projekt je skvělý způsob, jak se naučit základy C.
Kde byste tedy měli začít? Pozdravem!
1. Ahoj světe!
První částí téměř každého kurzu kódování je Ahoj světe program. Když si to projdeme podrobně, zdůrazníme některé způsoby, jak se C liší od jiných jazyků. Pro začátek otevřete a textový editor nebo IDE Textové editory vs. IDE: Které z nich je pro programátory lepší?Výběr mezi pokročilým IDE a jednodušším textovým editorem může být těžký. Nabízíme několik informací, které vám pomohou učinit toto rozhodnutí. Přečtěte si více dle vašeho výběru a zadejte tento kód:
#zahrnout /* toto je skript Hello World v C */ int main (neplatný) { printf("Ahoj světe! \n"); návrat 0; }
Tento krátký kód se vytiskne na konzoli před ukončením programu. Uložte si jej někam snadno zapamatovatelné jako Ahoj C. Nyní musíte zkompilovat a sestavit svůj soubor.
Aby to běželo
Ke spouštění skriptů v jazyce C obvykle není nutné do počítače instalovat žádný další software. Otevřete okno terminálu (nebo příkazový řádek, pokud používáte Windows) a přejděte do adresáře, do kterého jste uložili skript.
Způsob, jakým kompilujete a spouštíte soubor, se liší systém od systému:
- Uživatelé systému Windows: Udělejte svůj soubor spustitelným zadáním cl ahoj.c a stiskněte enter. Tím se ve stejné složce vytvoří hello.exe, který můžete spustit zadáním Ahoj.
- Uživatelé Linuxu a macOS: Typ gcc -o ahoj ahoj.c a stiskněte klávesu Enter, aby byla spustitelná, a spusťte ji zadáním ./Ahoj.
Ať už použijete kteroukoli metodu, spuštění skriptu by vám mělo ukázat toto:

Pokud to nefungovalo ve Windows, ujistěte se, že jste spustili příkazového řádku v režimu správce. Pro macOS možná budete muset nainstalovat Xcode z App Store a postupujte podle těchto kroků ze StackOverflow.
Nyní se podívejme na program řádek po řádku, abychom viděli, jak funguje, a vylepšeme jej!
Pod pokličkou: Porozumění jazyku C
Preprocesory
Skript, který jste právě vytvořili, začíná zahrnutím knihovny.
#zahrnout
První řádek ve skriptu se nazývá a preprocesor. To se provádí před kompilací zbytku skriptu. V tomto případě říká skriptu, aby použil stdio.h knihovna. Pro různé úlohy je k dispozici obrovské množství preprocesorů.
Stdio.h se stará o získávání vstupů od uživatele programu a odesílání informací zpět k nim.
/* toto je skript Hello World v C */
Tento další řádek je komentář. Lomítko a hvězdička říkají kompilátoru, aby ignoroval vše mezi ní a uzavírací hvězdičkou a lomítkem. I když se to může zdát zbytečné, schopnost zanechat sobě i ostatním jasné poznámky o tom, co váš kód dělá, je základním zvykem, do kterého se musíte dostat.
Hlavní funkce
int main (neplatný)
Každý program C musí mít a hlavní funkce. Main je funkce, která vrací celé číslo označené int. Závorky za main jsou pro jeho argumenty, i když v tomto případě to žádné nebere, a proto používáte prázdnota klíčové slovo.
Kód, který se má provést, napíšete mezi dvě složené závorky.
{ printf("Ahoj světe! \n"); návrat 0; }
Uvnitř funkce zavoláte printf() funkce. Stejně jako hlavní(), printf je funkce. Rozdíl je v tom, že printf je funkce v stdio knihovnu, kterou jste zahrnuli na začátku.
Printf vytiskne do konzole cokoli v hranatých závorkách mezi uvozovkami. The \n je úniková sekvence zvaná nový řádek, která říká kompilátoru, aby před pokračováním přeskočil na další řádek v konzole.
Všimněte si, že tyto řádky končí středníky, který kompilátor používá k rozdělení jedné úlohy od druhé. Věnujte těmto středníkům velkou pozornost – jejich vynechání je hlavní příčinou toho, že věci nejdou správně!
Nakonec se funkce vrátí s číslem 0, čímž program ukončí. The hlavní() funkce musí vždy vracet celé číslo a návrat = 0; signalizuje počítači, že proces byl úspěšný.
Pochopení každého kroku tohoto skriptu je skvělým začátkem při učení syntaxe C a toho, jak jazyk funguje.
2. Vytváření vlastních C funkcí
V C si můžete vytvořit vlastní uživatelské funkce. Místo tisku Hello World v hlavní funkci vytvořte novou funkci, která to udělá za vás.
void print_for_me() { printf("Ahoj světe! \n"); }
Pojďme to rozebrat.
prázdnota je klíčové slovo, které znamená, že následující funkce nic nevrátí.
print_for_me() je název funkce a prázdné závorky ukazují, že k fungování nepotřebuje argumenty. Argument je jakákoli část informace, která se má předat funkci, aby fungovala – později přidáte svůj vlastní argument, abyste změnili výstup! Poznámka: To není totéž jako funkce main(), nad kterou byla použita funkce void. Tato funkce nemůže přijímat argumenty, zatímco tato ano (ale v tomto případě nemusí).
Blok kódu by vám měl být známý – je to pouze tiskový výpis z původní hlavní funkce.
Nyní můžete tuto funkci volat z vaší hlavní funkce.
int main (neplatný) { print_for_me(); print_for_me(); návrat 0; }
Zde můžete vidět výhodu použití vlastní funkce. Spíše než psaní printf („Ahoj, světe! \n") pokaždé můžete funkci volat dvakrát.
Právě teď se to nemusí zdát tak důležité, ale pokud vaše funkce print_for_me obsahovala mnoho řádků kódu, možnost ji tak snadno volat je skvělá úspora času!

To je základní myšlenka programování, se kterou se budete setkávat během svého vzdělávání. Napište svou vlastní funkci jednou a nepište stále stejné velké kusy kódu.
3. Použití funkčních prototypů v C
Prototypy jsou jedním z hlavních způsobů, jak se začátečník C liší od ostatních jazyků. Stručně řečeno, prototyp je jako náhled funkce definované později. Pokud za hlavní funkcí napíšete funkci print_for_me(), můžete při kompilaci obdržet varování:

Varovná zpráva vám říká, že kompilátor naběhl do funkce print_for_me před jejím deklarováním, takže si nemohl být jistý, že bude při spuštění programu fungovat správně.
Kód by stále fungoval, ale varování se lze zcela vyhnout použitím prototypu.
#zahrnout void print_for_me(); int main (neplatný) { print_for_me(); print_for_me(); návrat 0; } void print_for_me() { printf("Ahoj světe! \n"); }
Když se podíváte na úplný program, můžete vidět, že prototyp pro print_for_me() existuje na začátku programu, ale neobsahuje nic. Prototypová funkce ukazuje kompilátoru, jak by funkce měla vypadat a zda vyžaduje argumenty nebo ne.
To znamená, že když ji zavoláte v hlavní funkci, kompilátor ví, zda je volána správně, a v případě potřeby může vyvolat varování nebo chybu. To může být něco, co se nyní zdá divné, ale vědět o nich nyní pomůže v budoucnu.

Tento program stále funguje bez prototypu, ale je dobré je používat. Výstup zatím vypadá stále stejně, pojďme jej změnit, aby byl osobnější!
4. Předávání argumentů funkcím C
Změna skriptu
V tomto posledním kroku se zeptáte na jméno uživatele a zaznamenáte jeho vstup. Poté jej použijete ve funkci, kterou jste vytvořili dříve. V C nejsou slova známá jako řetězce jako v jiných programovacích jazycích.
Místo toho se jedná o pole jednotlivých znaků. Symbol pro pole je [] a klíčové slovo je char. Začněte aktualizací funkce prototypu na začátku skriptu:
#zahrnout void print_for_me (název znaku[]);
Nyní bude kompilátor vědět, že funkce později ve skriptu přebírá pole volaných znaků název. Doposud tato postava neexistuje. Aktualizujte svou hlavní funkci, abyste ji vytvořili, a použijte ji k uložení uživatelského vstupu:
int main (neplatný) { název znaku[20]; printf("Zadejte jméno: "); scanf("%s", jméno); print_for_me (jméno); print_for_me("Všichni!"); návrat 0; }
První řádek v main vytvoří pole znaků s 20 možnými mezerami nazývané name. Dále je uživatel vyzván k zadání jména pomocí printf. Další řádek používá novou funkci nazvanou scanf která přebírá další slovo, které uživatel zadá.
The "%s" říká funkci, že má ukládat data jako řetězec, a volat ji název.
Úprava funkce
Nyní, když zavoláte print_for_me, můžete zahrnout název v závorkách. Na dalším řádku uvidíte, že můžete předat i další znaky, pokud jsou v uvozovkách. V obou případech se to, co je v závorkách, předá funkci print_for_me.
Upravte to nyní, abyste použili nové informace, které mu poskytujete:
void print_for_me (název znaku[]) { printf("Dobrý den, "); klade (jméno); }
Zde můžete vidět, že závorky byly aktualizovány stejně jako prototyp na začátku skriptu. Uvnitř stále tisknete ahoj pomocí printf. Je zde nová funkce klade. Toto je pokročilejší verze printf.
Cokoli vložené do hranatých závorek bude vytištěno na konzole a nový řádek ( \n které jste použili dříve) se přidá automaticky.
Uložte a zkompilujte svůj kód stejným způsobem jako dříve – všimněte si, že můžete program pojmenovat jinak, pokud nechcete přepsat svůj dřívější program. Pojmenoval jsem svůj ahoj 2:

Jak byste měli vidět, program převezme vstup a použije jej ve funkci před odesláním přednastaveného pozdravu „Všichni!“ opět poskytuje dva samostatné výstupy pro stejnou funkci.
ABC programování v C
Tento program je jednoduchý, ale některé koncepty v něm nejsou. Pokročilejší C kód musí být napsán velmi dobře, aby se předešlo pádům. To je důvod, proč si mnozí myslí, že je skvělý jazyk, který se musíte naučit jako první protože vštěpuje dobré návyky novým programátorům.
Jiní si myslí, že naučit se C++ je lepší nápad, protože staví na C a zachovává si nižší kontrolu nad systémem. (Je také třeba zvážit Rust – je to vzrušující programovací jazyk to je syntakticky podobné C++.)
Jedna věc je jistá: jazyky jako Python jsou mnohem přátelštější k začátečníkům. Pro starý jazyk se C stále používá všude, ale Python může být jazykem budoucnosti 6 důvodů, proč je Python programovacím jazykem budoucnostiChcete se naučit nebo rozšířit své znalosti programování? Zde je důvod, proč je Python nejlepším programovacím jazykem, který se můžete letos naučit. Přečtěte si více !
Ian Buckley je novinář, hudebník, performer a video producent na volné noze žijící v Berlíně v Německu. Když nepíše nebo není na jevišti, hraje si s kutilskou elektronikou nebo kódem v naději, že se stane šíleným vědcem.