Ako sa naučiť programovať v jazyku C: 12 krokov (s obrázkami)

Jazyk C je jedným zo starších programovacích jazykov. Bol vyvinutý v 70. rokoch, ale stále je veľmi výkonný vďaka tomu, ako nízkoúrovňový je. Učenie sa jazyka C je skvelý spôsob, ako sa zoznámiť aj so zložitejšími jazykmi, a získané vedomosti sa vám budú hodiť takmer v každom programovacom jazyku a môžu vám pomôcť pri vývoji aplikácií. Ak sa chcete naučiť, ako začať programovať v jazyku C, pozrite si krok 1 nižšie.

Časť 1 zo 6:Príprava

Stiahnite si a nainštalujte kompilátor. Kód v jazyku C musí byť skompilovaný programom, ktorý ho interpretuje na signály zrozumiteľné pre stroj. Kompilátory sú zvyčajne zadarmo a pre rôzne operačné systémy sú k dispozícii rôzne kompilátory.

  • Pre Windows vyskúšajte Microsoft Visual Studio Express alebo MinGW.
  • Pre Mac je XCode jedným z najlepších kompilátorov jazyka C.
  • Pre Linux je gcc jednou z najpopulárnejších možností.

Pochopte základy. Jazyk C patrí medzi staršie programovacie jazyky a môže byť veľmi výkonný. Bol navrhnutý pre operačné systémy Unix, ale bol portovaný a rozšírený pre takmer všetky operačné systémy. Moderná verzia jazyka C je C++.

  • Jazyk C sa v podstate skladá z funkcií a v týchto funkciách môžete používať premenné, podmienené príkazy, cykly na ukladanie a manipuláciu s údajmi.

Preskúmajte niektoré základné kódy. Pozrite sa na (veľmi) základný program uvedený nižšie, aby ste získali dobrú predstavu o tom, ako niektoré rôzne aspekty jazyka spolupracujú, a aby ste získali predstavu o fungovaní programov.

#include <stdio.h>
int main()
printf("Hello, World!\n");
getchar();
return 0;
  • Na stránke #include sa vykoná pred spustením programu a načíta knižnice, ktoré obsahujú potrebné funkcie. V tomto príklade, stdio.h nám umožňuje používať printf() a getchar() funkcie.
  • Stránka int main() príkaz hovorí kompilátoru, že program spúšťa funkciu s názvom „main“ a že po skončení vráti celé číslo. Všetky programy v jazyku C spúšťajú funkciu „main“.
  • The {} označuje, že všetko, čo sa v nich nachádza, je súčasťou funkcie. V tomto prípade označujú, že všetko, čo je vnútri, je súčasťou funkcie „main“.
  • Stránka printf() funkcia zobrazí obsah zátvoriek na obrazovke používateľa. Úvodzovky zabezpečujú, že reťazec vnútri sa vypíše doslovne. Na stránke \n sekvencia hovorí kompilátoru, aby presunul kurzor na ďalší riadok.
  • ; označuje koniec riadku. Väčšina riadkov kódu jazyka C musí byť ukončená bodkočiarkou.
  • Stránka getchar() príkaz hovorí kompilátoru, aby počkal na vstupný kláves pred tým, ako sa pohne ďalej. Je to užitočné, pretože mnohé kompilátory spustia program a okamžite zatvoria okno. Vďaka tomu sa program neukončí, kým nestlačíme kláves.
  • Stránka return 0 príkaz označuje koniec funkcie. Všimnite si, že funkcia „main“ je int funkcia. To znamená, že po skončení programu bude potrebné vrátiť celé číslo. „0“ znamená, že program prebehol správne; akékoľvek iné číslo znamená, že program narazil na chybu.

Skúste skompilovať program. Zadajte kód do editora kódu a uložte ho ako „*.c“ súbor. skompilujte ho vo svojom kompilátore, zvyčajne kliknutím na tlačidlo Build alebo Run.

Vždy komentujte svoj kód. Komentáre sú súčasťou kódu, ktorá sa neskompiluje, ale umožňuje vysvetliť, čo sa deje. Je to užitočné na pripomenutie si, na čo slúži váš kód, a na pomoc iným vývojárom, ktorí sa môžu pozerať na váš kód.

  • Ak chcete komentár v jazyku C umiestniť /* na začiatku komentára a */ na konci.
  • Komentujte všetky časti kódu okrem tých najzákladnejších.
  • Komentáre môžete použiť na rýchle odstránenie častí kódu bez toho, aby ste ich vymazali. Kód, ktorý chcete vylúčiť, jednoducho uzavrite značkami komentárov a potom skompilujte. Ak chcete kód pridať späť, odstráňte značky.

Časť 2 zo 6:Používanie premenných

Pochopenie funkcie premenných. Premenné vám umožňujú ukladať údaje, buď z výpočtov v programe, alebo zo vstupu používateľa. Pred použitím premenných je potrebné ich definovať a na výber je niekoľko typov.

  • Medzi najbežnejšie typy premenných patria int, char, a float. Každý z nich ukladá iný typ údajov.

Naučte sa, ako sa deklarujú premenné. Premenné musia byť vytvorené alebo „deklarované“ predtým, ako ich program môže použiť. Premennú deklarujete zadaním dátového typu, za ktorým nasleduje názov premennej. Napríklad všetky nasledujúce príklady sú platné deklarácie premenných:

float x;
char name;
int a, b, c, d;
  • Všimnite si, že na jednom riadku môžete deklarovať viacero premenných, pokiaľ sú rovnakého typu. Jednoducho oddeľte názvy premenných čiarkami.
  • Podobne ako mnoho riadkov v jazyku C, každý riadok deklarácie premennej musí byť ukončený bodkočiarkou.

Vedieť, kde deklarovať premenné. Premenné musia byť deklarované na začiatku každého bloku kódu (časti vášho kódu, ktoré sú uzavreté v zátvorkách {}). Ak sa pokúsite deklarovať premennú neskôr v bloku, program nebude fungovať správne.

Používanie premenných na ukladanie vstupov od používateľa. Teraz, keď poznáte základy fungovania premenných, môžete napísať jednoduchý program, ktorý bude ukladať vstupné údaje používateľa. V programe budete používať ďalšiu funkciu s názvom scanf. Táto funkcia prehľadáva zadaný vstup a hľadá v ňom konkrétne hodnoty.

#include <stdio.h>
int main()
int x;
printf( "Zadajte číslo: " );
scanf( "%d", &x );
printf( "Zadali ste %d", x );
getchar();
vrátiť 0;
  • Na stránke "%d" reťazec hovorí scanf na hľadanie celých čísel v používateľskom vstupe.
  • & pred premennou x hovorí scanf kde nájsť premennú, aby ju bolo možné zmeniť, a uloží do premennej celé číslo.
  • Konečný printf Príkaz prečíta používateľovi späť vstupné celé číslo.

Manipulujte s premennými. Na manipuláciu s údajmi uloženými v premenných môžete použiť matematické výrazy. Najdôležitejším rozdielom, ktorý si treba zapamätať pri matematických výrazoch, je to, že jeden = nastaví hodnotu premennej, zatiaľ čo == porovnáva hodnoty na oboch stranách, aby zistil, či sa rovnajú.

x = 3 * 4; /* nastaví "x" na 3 * 4 alebo 12 */
x = x + 3; /* pripočíta 3 k pôvodnej hodnote "x" a nastaví novú hodnotu ako premennú */
x == 15; /* kontroluje, či sa "x" rovná 15 */
x < 10; /* kontroluje, či je hodnota "x" menšia ako 10 */

Časť 3 zo 6:Používanie podmienených príkazov

Pochopiť základy podmienených príkazov. Podmienené príkazy sú tým, čo riadi väčšinu programov. Sú to výroky, ktoré sa určia ako PRAVDA alebo NEPRAVDA a potom sa na základe výsledku koná. Najzákladnejším z príkazov je príkaz if príkaz.

  • TRUE a FALSE fungujú v jazyku C inak, ako ste možno zvyknutí. Príkazy TRUE vždy končia rovnosťou nenulového čísla. Keď vykonávate porovnávanie, ak je výsledok TRUE, potom sa vráti „1“. Ak je výsledok FALSE, potom sa vráti „0“. Pochopenie tohto vám pomôže pochopiť, ako sa spracúvajú príkazy IF.

Naučte sa základné podmienkové operátory. Podmienené príkazy sa točia okolo používania matematických operátorov, ktoré porovnávajú hodnoty. Nasledujúci zoznam obsahuje najčastejšie používané podmienkové operátory.

>   /* väčší ako */
<   /* menej ako */
>= /* väčší alebo rovný */
<= /* menšia alebo rovná sa */
== /* rovná sa */
!= /* nerovná sa */

10 > 5 TRUE
6 < 15 TRUE
8 >= 8 TRUE
4 <= 8 TRUE
3 == 3 TRUE
4 != 5 TRUE

Napíšte základný príkaz IF. Príkazy IF môžete použiť na určenie toho, čo má program urobiť ďalej po vyhodnotení príkazu. Neskôr ho môžete kombinovať s inými podmienenými príkazmi a vytvárať tak výkonné viacnásobné možnosti, ale zatiaľ si napíšte jednoduchý príkaz, aby ste si na ne zvykli.

#include <stdio.h>
int main()
if ( 3 < 5 )
printf("3 je menej ako 5");
getchar();

Na rozšírenie podmienok použite príkazy ELSE/ELSE IF. Na príkazoch IF môžete stavať pomocou príkazov ELSE a ELSE IF na spracovanie rôznych výsledkov. Príkazy ELSE sa spustia, ak príkaz IF je FALSE. Príkazy ELSE IF vám umožňujú zahrnúť do jedného bloku kódu viacero príkazov IF, aby ste mohli riešiť rôzne prípady. Pozrite si príklad programu nižšie, aby ste videli, ako sa navzájom ovplyvňujú.

#include <stdio.h>
int main()
int vek;
printf( "Prosím, zadajte svoj aktuálny vek: " );
scanf( "%d", &vek );
if ( vek <= 12 ) {
printf( "Si len dieťa!\n" );
else if ( age < 20 ) {
printf("Byť tínedžerom je celkom skvelé!\n" );
else if ( vek < 40 ) {
printf( "Ste stále mladý v srdci!\n" );
else {
printf( "S vekom prichádza múdrosť.\n" );
return 0;

[1]

  • Program preberá vstup od používateľa a prevádza ho cez príkazy IF. Ak číslo spĺňa prvý príkaz, potom sa prvý printf príkaz je vrátený. Ak nevyhovuje prvý príkaz, prechádza sa cez každý príkaz ELSE IF, kým sa nenájde taký, ktorý funguje. Ak nevyhovuje žiadna z nich, prejde sa na konci príkazom ELSE.

4. časť zo 6:Učenie slučiek

Pochopte, ako pracujú cykly. Slučky sú jedným z najdôležitejších aspektov programovania, pretože umožňujú opakovať bloky kódu, kým nie sú splnené určité podmienky. Takto sa dajú veľmi ľahko implementovať opakujúce sa akcie a nemusíte písať nové podmienkové príkazy zakaždým, keď chcete, aby sa niečo stalo.

  • Existujú tri hlavné typy cyklov: FOR, WHILE a DO…WHILE.

Použite cyklus FOR. Toto je najbežnejší a najužitočnejší typ cyklu. Bude pokračovať v spúšťaní funkcie, kým nebudú splnené podmienky nastavené v slučke FOR. Cykly FOR vyžadujú tri podmienky: inicializáciu premennej, podmienku, ktorá má byť splnená, a spôsob aktualizácie premennej. Ak nepotrebujete všetky tieto podmienky, stále budete musieť nechať prázdne miesto so stredníkom, inak bude cyklus bežať donekonečna.[2]

#include <stdio.h>
int main()
int y;
for ( y = 0; y < 15; y++;){
printf( "%d\n", y );
getchar();
  • Vo vyššie uvedenom programe, y je nastavená na 0 a cyklus pokračuje, kým je hodnota y je menšia ako 15. Zakaždým, keď sa objaví hodnota y sa vypíše, 1 sa pripočíta k hodnote y a cyklus sa opakuje. Keď y = 15, cyklus sa preruší.

Použite cyklus WHILE. Cykly WHILE sú jednoduchšie ako cykly FOR. Majú len jednu podmienku a cyklus funguje dovtedy, kým je táto podmienka pravdivá. Premennú nemusíte inicializovať ani aktualizovať, hoci to môžete urobiť v hlavnom tele cyklu.

#include <stdio.h>
int main()
int y;
while ( y <= 15 ){
printf( "%d\n", y );
y++;
getchar();
  • Stránka y++ príkaz pridá 1 k y premenná pri každom vykonaní cyklu. Raz y sa rovná 16 (nezabudnite, že táto slučka trvá tak dlho, ako y je menšia ako alebo rovná 15), cyklus sa preruší.

Použite a DO...Cyklus WHILE. Tento cyklus je veľmi užitočný pre cykly, ktorých spustenie chcete zabezpečiť aspoň raz. V cykloch FOR a WHILE sa podmienka kontroluje na začiatku cyklu, čo znamená, že nemohla prejsť a hneď zlyhať. DO…Cykly WHILE kontrolujú podmienky na konci cyklu, čím sa zabezpečí, že sa cyklus vykoná aspoň raz.

#include <stdio.h>
int main()
int y;
y = 5;
do {
printf("Táto slučka beží!\n");
} while ( y != 5 );
getchar();
  • Tento cyklus zobrazí správu, aj keď je podmienka FALSE. Premenná y je nastavená na 5 a cyklus WHILE je nastavený tak, aby sa spustil, keď y sa nerovná 5, takže cyklus sa ukončí. Správa už bola vypísaná, pretože podmienka sa kontroluje až na konci.
  • Cyklus WHILE v DO…Sada WHILE musí byť ukončená bodkočiarkou. Toto je jediný prípad, keď je cyklus ukončený bodkočiarkou.

Časť 5 z 6:Používanie funkcií

Pochopenie základov funkcií. Funkcie sú samostatné bloky kódu, ktoré môžu byť volané inými časťami programu. Veľmi uľahčujú opakovanie kódu a pomáhajú zjednodušiť čítanie a zmenu programu. Funkcie môžu obsahovať všetky predtým preberané techniky, ktoré ste sa naučili v tomto článku, a dokonca aj ďalšie funkcie.

  • main() Riadok na začiatku všetkých uvedených príkladov je funkcia, rovnako ako getchar()
  • Funkcie sú nevyhnutné pre efektívny a ľahko čitateľný kód. Využívajte funkcie na zefektívnenie programu.

Začnite s osnovou. Funkcie sa najlepšie vytvárajú, keď si pred začatím samotného kódovania načrtnete, čo chcete, aby sa dosiahlo. Základná syntax funkcií je „return_type name ( argument1, argument2, atď.);“. Napríklad na vytvorenie funkcie, ktorá sčíta dve čísla:

int add ( int x, int y );
  • Tým sa vytvorí funkcia, ktorá sčíta dve celé čísla (x a y) a potom vráti súčet ako celé číslo.

Pridanie funkcie do programu. Náčrt môžete použiť na vytvorenie programu, ktorý vezme dve celé čísla, ktoré zadá používateľ, a potom ich sčíta. Program bude definovať, ako funguje funkcia „add“, a používať ju na manipuláciu so vstupnými číslami.

#include <stdio.h>
int add ( int x, int y );
int main()
int x;
int y;
printf( "Zadajte dve čísla, ktoré chcete sčítať: " );
scanf( "%d", &x );
scanf( "%d", &y );
printf( "Súčet vašich čísel je %d\n" , add( x, y ) );
getchar();
int add ( int x , int y )
return x + y;
  • Všimnite si, že osnova sa stále nachádza v hornej časti programu. Týmto sa kompilátoru povie, čo má očakávať, keď sa funkcia zavolá, a čo vráti. Toto je potrebné len vtedy, ak chcete definovať funkciu neskôr v programe. Mohli by ste definovať add() pred main() Funkcia a výsledok by bol rovnaký bez osnovy.
  • Skutočná funkčnosť funkcie je definovaná v spodnej časti programu. main() funkcia zhromažďuje celé čísla od používateľa a potom ich posiela do add() funkcia, ktorá sa má spracovať. add() funkcia potom vráti výsledky main()
  • Teraz add() je definovaný, možno ho zavolať kdekoľvek v programe.

Časť 6
Časť 6 zo 6:Pokračovanie v učení

Nájdite si niekoľko kníh o programovaní v jazyku C. Tento článok sa zaoberá základmi, ale len poškriabe povrch programovania v jazyku C a všetkých súvisiacich znalostí. Dobrá referenčná kniha vám pomôže vyriešiť problémy a ušetrí vás od mnohých bolestí hlavy v budúcnosti.

Pripojte sa k niektorým komunitám. Existuje veľa komunít, online aj v reálnom svete, ktoré sa venujú programovaniu a všetkým jazykom, ktoré sú s ním spojené. Nájdite si podobne zmýšľajúcich programátorov v jazyku C, s ktorými si môžete vymieňať kód a nápady, a čoskoro zistíte, že ste sa naučili veľa nového.

  • Ak je to možné, zúčastnite sa nejakého hack-a-thonu. Ide o podujatia, pri ktorých majú tímy a jednotlivci časový limit na vymýšľanie programov a riešení a často podporujú veľkú kreativitu. Takto môžete stretnúť veľa dobrých programátorov a hack-a-thony sa pravidelne konajú po celom svete.

Absolvujte niekoľko kurzov. Nemusíte sa vracať do školy, aby ste získali titul z informatiky, ale absolvovanie niekoľkých kurzov môže urobiť zázraky pre vaše vzdelávanie. Nič sa nevyrovná praktickej pomoci od ľudí, ktorí sa v danom jazyku dobre vyznajú. Často môžete nájsť kurzy v miestnych komunitných centrách a na nižších stredných školách a niektoré univerzity vám umožnia auditovať svoje programy informatiky bez toho, aby ste sa museli zapísať.

  • Zvážte možnosť naučiť sa jazyk C++. Keď už ovládate jazyk C, nezaškodilo by vám začať sa zaoberať jazykom C++. Toto je modernejšia verzia jazyka C a umožňuje oveľa väčšiu flexibilitu. Jazyk C++ je navrhnutý s ohľadom na prácu s objektmi a znalosť jazyka C++ vám umožní vytvárať výkonné programy prakticky pre akýkoľvek operačný systém.
  • Odkazy