Hirdetés

A programozás megtanulása egy halmozott tapasztalat. A választott nyelv szintaxisának megtanulása mellett meg kell tanulnia az összes programozási nyelv által használt általános elveket is.

A C programozás megértése és elsajátítása ijesztő lehet, de van néhány alapötlet, amelyeket érdemes megismerni az induláskor. Egy egyszerű projekt nagyszerű módja a C alapjainak elsajátításának.

Szóval hol érdemes kezdeni? Köszöntéssel!

1. Helló Világ!

Szinte minden kódolási tanfolyam első része a Helló Világ program. Ha ezt részletesen áttekintjük, rávilágítunk arra, hogy a C különbözik a többi nyelvtől. Kezdésként nyissa meg a szövegszerkesztő vagy IDE Szövegszerkesztők vs. IDE-k: melyik a jobb programozóknak?Nehéz lehet választani a fejlett IDE és az egyszerűbb szövegszerkesztő között. Néhány betekintést nyújtunk a döntés meghozatalához. Olvass tovább választotta, és írja be ezt a kódot:

#beleértve /* ez egy Hello World szkript C-ben */ int main (üres) { printf("Szia, világ! \n"); visszatérés 0; }

Ez a rövid kódrészlet kinyomtatja a konzolt a program leállítása előtt. Mentse el egy könnyen megjegyezhető helyre hello.c. Most le kell fordítania és fel kell építenie a fájlt.

Futtatás

Általában nem kell további szoftvert telepítenie a számítógépére a C-szkriptek futtatásához. Nyisson meg egy terminálablakot (vagy parancssort, ha Windows rendszert futtat), és keresse meg azt a könyvtárat, amelybe a szkriptet mentette.

A fájl fordításának és futtatásának módja rendszerenként változik:

  • Windows felhasználók: Tegye a fájlt végrehajthatóvá gépeléssel cl hello.c és nyomja meg az entert. Ezzel ugyanabban a mappában jön létre a hello.exe, amelyet begépelve futtathat Helló.
  • Linux és macOS felhasználók: típus gcc -o hello hello.c és nyomja meg az Enter billentyűt, hogy végrehajtható legyen, és futtassa gépeléssel ./Helló.

Bármelyik módszert is használja, a szkript futtatásakor a következőket kell mutatnia:

Kimenet a Hello World! vázlat C-ben

Ha nem működik Windows rendszeren, feltétlenül futtassa a parancssor rendszergazda módban. MacOS esetén előfordulhat, hogy telepítenie kell az Xcode-ot az App Store-ból és kövesse ezeket a lépéseket a StackOverflow-ból.

Most pedig nézzük soronként a programot, hogy lássuk, hogyan működik, és javítsuk!

A motorháztető alatt: A C nyelv megértése

Előfeldolgozók

Az imént létrehozott szkript egy könyvtár felvételével kezdődik.

#beleértve 

A szkript első sorát a előfeldolgozó. Ezt a szkript többi részének lefordítása előtt hajtják végre. Ebben az esetben utasítja a szkriptet, hogy használja a stdio.h könyvtár. A különféle feladatokhoz hatalmas számú előfeldolgozó áll rendelkezésre.

Az Stdio.h gondoskodik arról, hogy a program felhasználója bemenetet kapjon, és információkat küldjön vissza nekik.

/* ez egy Hello World szkript C-ben */

Ez a következő sor egy megjegyzés. A perjel és a csillag azt mondja a fordítónak, hogy hagyjon figyelmen kívül mindent, ami közte és a záró csillag és perjel között van. Bár ez értelmetlennek tűnhet, az alapvető szokás, hogy képes legyen világos megjegyzéseket hagyni magának és másoknak a kódja működéséről.

A fő funkció

int main (üres)

Minden C programnak rendelkeznie kell a fő- funkció. A Main egy olyan függvény, amely egy egész számot ad vissza, amelyet jelöl int. A main utáni zárójelek az argumentumaira szolgálnak, bár ebben az esetben nem szükséges egyet sem, ezért használja a üres kulcsszó.

A végrehajtandó kódot két kapcsos zárójel közé írod.

{ printf("Szia, világ! \n"); visszatérés 0; }

A függvényen belül hívja meg a printf() funkció. Akárcsak fő(), a printf egy függvény. A különbség az, hogy a printf egy függvény a stdio könyvtárat, amelyet az elején felvettél.

A Printf a zárójelben, az idézőjelek között bármit kiír a konzolra. Az \n egy újsor nevű escape szekvencia, amely arra utasítja a fordítót, hogy ugorjon a következő sorra a konzolban, mielőtt folytatná.

Vegye figyelembe, hogy ezek a sorok végződnek pontosvesszővel, amelyet a fordító az egyik feladat felosztására használ fel a másikra. Nagyon ügyeljen ezekre a pontosvesszőkre – ezek hiánya az első számú oka annak, hogy a dolgok nem mennek jól!

Végül a függvény 0-val tér vissza, ezzel befejezve a programot. Az fő() függvénynek mindig egész számot kell visszaadnia, és visszatérés = 0; jelzi a számítógépnek, hogy a folyamat sikeres volt.

A szkript minden lépésének megértése nagyszerű kezdet a C szintaxis és a nyelv működésének elsajátításában.

2. Saját C-függvények létrehozása

Létrehozhatja saját egyéni függvényeit C-ben. Ahelyett, hogy a Hello World fő funkcióban nyomtatná ki, hozzon létre egy új funkciót, amely elvégzi ezt Ön helyett.

érvénytelen print_for_me() { printf("Szia, világ! \n"); }

Bontsuk ezt le.

üres egy kulcsszó, ami azt jelenti, hogy a következő függvény nem ad vissza semmit.

print_for_me() a függvény neve, és az üres zárójelek azt mutatják, hogy nincs szükség argumentumokra a működéséhez. Az argumentum bármely olyan információ, amelyet át kell adni egy függvénynek, hogy működjön – később a kimenet megváltoztatásához hozzáad egy saját argumentumot! Jegyzet: Ez nem ugyanaz, mint a main() függvény, amely felett a void-ot használta. Ez a függvény nem tud argumentumokat fogadni, ez viszont igen (de ebben az esetben nem kell).

A kódblokk ismerősnek kell lennie – ez csak az eredeti fő funkció nyomtatott utasítása.

Most ezt a függvényt a fő funkciójából hívhatja meg.

int main (üres) { print_for_me(); print_for_me(); visszatérés 0; }

Itt láthatja a saját funkció használatának előnyeit. Gépelés helyett printf("Helló, világ! \n) minden alkalommal kétszer hívhatja meg a függvényt.

Jelenleg ez talán nem tűnik olyan fontosnak, de ha a print_for_me függvény sok kódsort tartalmazott, akkor az ilyen egyszerű meghívása nagyszerű időt takarít meg!

Hello world, kétszeri kimenet több funkcióhíváson keresztül

Ez a programozás alapvető gondolata, amellyel az oktatás során találkozhat. Írja meg egyszer a saját függvényét, ahelyett, hogy ugyanazokat a nagy kóddarabokat írná le újra és újra.

3. Funkció prototípusok használata C-ben

A prototípusok jelentik az egyik fő különbséget a kezdő C nyelvek között. Röviden, a prototípus egy később meghatározott funkció előnézete. Ha a print_for_me() függvényt a fő függvény után írod, akkor fordításkor figyelmeztetést kaphatsz:

Összetett kép, amely prototípus nélküli kódot és a c fordító által adott figyelmeztetést mutatja

A figyelmeztető üzenet arról tájékoztat, hogy a fordító még a deklarálás előtt befutott a print_for_me függvénybe, így nem lehetett biztos abban, hogy megfelelően fog működni a program futása közben.

A kód továbbra is működne, de prototípus használatával teljesen elkerülhető a figyelmeztetés.

#beleértve void print_for_me(); int main (üres) { print_for_me(); print_for_me(); visszatérés 0; } void print_for_me() { printf("Szia, világ! \n"); }

Ha megnézi a teljes programot, láthatja, hogy a print_for_me() prototípusa létezik a program elején, de nem tartalmaz semmit. A prototípus függvény megmutatja a fordítónak, hogyan kell kinéznie a függvénynek, és szükség van-e argumentumokra vagy sem.

Ez azt jelenti, hogy amikor meghívja a fő függvényben, a fordító tudja, hogy helyesen hívja-e meg, és figyelmeztetést vagy hibát dobhat, ha szükséges. Lehet, hogy ez most furcsának tűnik, de ha most ismerjük őket, az segíteni fog a jövőben.

Hello world, kétszeri kimenet több funkcióhíváson keresztül

Ez a program prototípus nélkül is működik, de jó gyakorlat a használatuk. A kimenet egyelőre ugyanúgy néz ki, változtassuk meg, hogy személyesebb legyen!

4. Argumentumok átadása C függvényeknek

A szkript módosítása

Az utolsó lépésben meg kell adnia a felhasználó nevét, és rögzíteni kell a bevitelét. Ezután a korábban létrehozott függvényben fogja használni. A C nyelvben a szavak nem karakterláncként ismertek, mint más programozási nyelvekben.

Ehelyett egyetlen karakterből álló tömb. A tömb szimbóluma a [] a kulcsszó pedig az char. Kezdje a prototípus funkció frissítésével a szkript elején:

#beleértve  void print_for_me (karakter neve[]); 

Most a fordító tudni fogja, hogy a szkript későbbi függvénye egy meghívott karaktertömböt vesz fel név. Eddig ez a karakter nem létezik. Frissítse a fő funkciót a létrehozásához, és használja a felhasználói bevitel tárolására:

int main (üres) { karakternév[20]; printf("Írja be a nevet: "); scanf("%s", név); print_for_me (név); print_for_me("Mindenki!"); visszatérés 0; }

A main első sora egy karaktertömböt hoz létre 20 szóközzel név néven. Ezután a felhasználónak meg kell adnia a nevét a printf segítségével. A következő sor egy új, nevű függvényt használ scanf amely a felhasználó által beírt következő szót veszi fel.

Az „%s” megmondja a függvénynek, hogy az adatokat karakterláncként kell tárolnia, és meghívja név.

A funkció módosítása

Most, amikor felhívja a print_for_me, megadhatja név zárójelben. A következő sorban látni fogja, hogy más karaktereket is átadhat, amíg azok idézőjelek között vannak. Mindkét alkalommal a zárójelben lévők átkerülnek a print_for_me függvénybe.

Módosítsa ezt most, hogy felhasználja az Ön által megadott új információkat:

void print_for_me (karakter neve[]) { printf("Szia! "); tesz (név); }

Itt láthatja, hogy a zárójelek frissültek, akárcsak a prototípus a szkript elején. Belül továbbra is a hello-t nyomtatod a printf használatával. Itt egy új funkció tesz. Ez a printf fejlettebb verziója.

Bármi, amit a zárójelbe tesz, a rendszer kinyomtatja a konzolt, és egy újsort (a \n korábban használt) automatikusan hozzáadódik.

Mentse el és fordítsa le a kódot ugyanúgy, mint korábban – vegye figyelembe, hogy a programot másként is nevezheti, ha nem akarja felülírni a korábbi programot. elneveztem az enyémet szia 2:

Az elkészült program C-ben

Amint látnia kell, a program veszi a bemenetet és felhasználja a függvényben, mielőtt elküldi a „Mindenki!” előre beállított üdvözletét. ismét két külön kimenetet adva ugyanannak a funkciónak.

A C programozás ABC-je

Ez a program egyszerű, de néhány koncepció nem az. A fejlettebb C kódot nagyon jól kell megírni, hogy elkerüljük az összeomlásokat. Ezért gondolják sokan, hogy ez egy kiváló nyelvet tanulni először mivel jó szokásokat ültet az új programozókba.

Mások szerint a C++ tanulása jobb ötlet, mivel a C-re épít, miközben megőrzi alacsonyabb rendszervezérlését. (Russt is figyelembe kell venni – ez egy izgalmas programozási nyelv ez szintaktikailag hasonló a C++-hoz.)

Egy dolog biztos: nyelvek, mint a Python sokkal kezdőbarátabbak. Egy régi nyelvnél még mindig a C-t használják mindenhol, de A Python lehet a jövő nyelve 6 ok, amiért a Python a jövő programozási nyelveSzeretne tanulni vagy bővíteni programozási készségeit? Íme, miért a Python a legjobb programozási nyelv ebben az évben. Olvass tovább !

Ian Buckley szabadúszó újságíró, zenész, előadóművész és videóproducer, Berlinben, Németországban él. Amikor nem ír vagy nem áll színpadon, barkács elektronikával vagy kóddal bütyköl, abban a reményben, hogy őrült tudós lesz.