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:
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!
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:
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.
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:
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.