Mi a C Programming Language?
⚡ Okos összefoglaló
C Programming Language egy általános célú, strukturált nyelv, amelyet Dennis Ritchie alkotott meg 1972-ben a Bell Labs-nál. Gépfüggetlen, gyors, és a rendszerszoftverek, operációs rendszerek, beágyazott firmware-ek és modern nyelvek alapját képezi, mint például a C++, Javaés Python.

Mi a C Programming Language?
C egy általános célú programozási nyelv, amely rendkívül népszerű, egyszerű és rugalmasan használható. Ez egy strukturált, gépfüggetlen nyelv, amelyet alkalmazások széles skálájának írására használnak – az olyan operációs rendszerektől kezdve, mint a Windows és Linuxtól az olyan összetett programokig, mint a Oracle adatbázis, Git és a Python tolmács.
A C-t gyakran a modern programozás alapjának nevezik. Ha már ismered a C-t, sokkal könnyebb lesz más nyelveket is elsajátítani, mivel a legtöbbjük kölcsönzi a C fogalmait. A számítógépes memória alapvető ismerete is segít, mivel a memória szinte minden C program központi eleme.
IEEE – a tíz legjobb programozási nyelv 2018-ban.
Ez az útmutató a C programozási nyelv alapjait ismerteti: történetét, alapvető parancsait, főbb alkalmazásait, azt, hogy miért érdemes még mindig tanulni, és hogyan működik a fordítási modellje.
A C nyelv története
A C nem elszigetelten jelent meg – korábbi rendszernyelvek láncolatából nőtte ki magát:
- ALGOL (1960): gyakran a programozási nyelvek atyjának nevezik. Az ALGOL bevezette a strukturált programozást a szélesebb fejlesztői közösségbe, és széles körben elterjedt az európai egyetemeken.
- BCPL (1967): Basic Combined Programming Language, amelyet Martin Richards tervezett rendszerszoftverek írására.
- B (1970): Ken Thompson vezette be az AT&T Bell Laboratories-nál. A B nyelvet számos BCPL-funkció örökölte, és korai UNIX-eszközök írásához használták.
In 1972Dennis Ritchie alkotta C a Bell Laboratories-nál. A C a legjobb ötleteket merítette az ALGOL-ból, a BCPL-ből és a B-ből, és olyan új koncepciókkal egészítette ki, amelyek kifejezőbbé tették bármelyik elődjénél.
A C nyelv szorosan kapcsolódik a UNIX-hoz – a UNIX operációs rendszer nagy részét C nyelven írták át. Ahogy a C nyelv elterjedt a Bell Labs-en túl is, számos platformra megjelentek kereskedelmi fordítóprogramok, és a nyelv több inkompatibilis dialektussá fejlődött. Az egységesség helyreállítása érdekében az Amerikai Nemzeti Szabványügyi Intézet (ANSI) 2013-ban kiadott egy C szabványt. 1989, és a Nemzetközi Szabványügyi Szervezet (ISO) ratifikálta azt 2013-ban. 1990A szabványosított változatot széles körben úgy emlegetik, mint ANSI C.
C története.
Nyelvek, mint pl C++ és a Java közvetlenül a C nyelvből fejlesztették ki, és sok modern nyelv átveszi annak szintaxisát és konvencióit. Ezért a C képezi a mai szoftverek nagy részének alapját.
C Alapvető parancsok
A következő parancsok alkotják szinte minden C program vázát.
| C alapparancs | Magyarázat |
|---|---|
#include <stdio.h> |
Tartalmazza a C könyvtár szabványos input-output header fájlját a fordítás előtt. |
int main() |
A fő funkció – minden C program végrehajtása – itt kezdődik. |
{ |
A fő funkcióblokk kezdetét jelzi. |
/* some_comments */ |
Egy megjegyzés. A fordító mindent figyelmen kívül hagy a kettő között. /* és a */. |
printf("Hello, World!"); |
Kiírja a kimenetet a képernyőre. |
getch(); |
Egyetlen karaktert olvas be a billentyűzetről (nem szabványos, főként a Turbo C-vel használatos). |
return 0; |
Leállítja a main függvényt, és 0 értéket ad vissza az operációs rendszernek. |
} |
A fő funkcióblokk végét jelzi. |
Hol használják a C-t? Főbb alkalmazások
A C olyan helyeken fut, ahol a legtöbb felhasználó soha nem látja, de a területe hatalmas. Gyakori területek többek között:
- Beágyazott rendszerek és mikrokontroller firmware.
- Rendszerszintű alkalmazások és illesztőprogramok.
- Asztali alkalmazások, beleértve számos Adobe terméket.
- Webböngészők és bővítményeik — GoogleA króm nagy mennyiségű C-t tartalmaz.C++ kód.
- Adatbázisok — MySQL az egyik legnépszerűbb C nyelven írt adatbázis.
- Operating rendszerek — Apple macOS (Darwin), Microsoft WindowsA Linuxot és történelmileg a Symbiant is C nyelven fejlesztették.
- Fordítóprogramok, nyelvi futási környezetek és interpreterek.
- Dolgok internete (IoT) eszközei és otthonautomatizálási firmware-ek.
Miért érdemes C nyelvet tanulni?
A C számos programozási nyelv alapja, így a C elsajátítása minden további nyelvet könnyebbé tesz. Ugyanazokat az adattípusokat, operátorokat és vezérlő utasításokat vezeti be, amelyeket a ...-ban is látni fog. C++, Java, Python, és a Menj.
A C-be való befektetés fő okai a következők:
- Sebesség: A C natív kódra fordul, és részletes memória-vezérlést biztosít.
- Hordozhatóság: A C nyelven írt programok újrafordíthatók és gyakorlatilag bármilyen platformon futtathatók.
- Szerkezet: Egy C program modulokra van osztva, ami megkönnyíti a tesztelést, karbantartást és hibakeresést.
- Kompakt mag: A C nyelvnek mindössze 32 kulcsszava, számos adattípusa és egy hatékony beépített könyvtára van.
- Nyújthatóság: Hozzáadhatsz saját függvényeket egy könyvtárhoz, és úgy hívhatod meg őket, mintha beépítettek lennének.
- Karrierérték: A beágyazott, a kernel és a nagy teljesítményű szerepkörök továbbra is erős C nyelvi készségeket igényelnek.
Hogyan C Programming Language Művek
A C egy fordított nyelv. A fordítóprogram beolvassa a forráskódot, és létrehoz egy objektumfájlt, amelyet a gép megért. A linker ezután egy vagy több objektumfájlt (és a hivatkozott könyvtárakat) egyetlen futtatható fájllá egyesít, amely futtatható a célplatformon. Az alábbi ábra a teljes végrehajtási folyamatot mutatja.
Sokféle fordítóprogram érhető el – online és offline egyaránt –, és mindegyik ugyanazt a folyamatot követi. A népszerű választási lehetőségek közé tartoznak:
- GCC — a GNU Compiler Collection, a Linux és számos beágyazott célprogram de facto szabványa.
- Csengés — az LLVM-alapú kezelőfelület, amelyet alapértelmezés szerint használnak a következőn: macOS.
- MinGW — Minimalista GNU a következőhöz: Windows, elhozza a GCC-t Windows felhasználók számára.
- Hordozható C fordító (pcc).
- Turbó C — a klasszikus fordítóprogram, amelyet még mindig számos tudományos kurzuson használnak.
A C előnyei és hátrányai
Az alábbi táblázat összefoglalja azokat a kompromisszumokat, amelyeket mérlegelnie kell, mielőtt a C-t választaná egy új projekthez.
| Előnyök | Hátrányok |
|---|---|
| Gyors, alacsony szintű hozzáférés a memóriához és a hardverhez. | A manuális memóriakezelés hibákat okozhat, például szivárgásokat és puffer túlcsordulásokat. |
| Hordozható különböző architektúrák és operációs rendszerek között. | Nincs beépített objektumorientáció vagy generikusok. |
| Kompakt szintaxis, mindössze 32 kulcsszóval. | Nincs beépített biztonsági háló – a meghatározatlan viselkedés csendben összeomolhat. |
| Fordítóprogramok, hibakeresők és könyvtárak hatalmas ökoszisztémája. | Bőbeszédűbb a magas szintű alkalmazáskódhoz a szkriptnyelvekhez képest. |
| Foundation modern nyelvek esetében – a készségek könnyen átadhatók. | Lassabb termelékenység azoknál a feladatoknál, ahol a felügyelt nyelvek elegendőek lennének. |
Bevált gyakorlatok C nyelven írásakor
Az alábbi szokások biztosítják a C kódbázisok olvashatóságát, hordozhatóságát és a gyakori memóriahibáktól való mentességét:
- Figyelmeztetések engedélyezése: fordítsa le
-Wall -Wextra -Werrorolyan apró problémák miatt nem sikerül az építkezés. - Változók inicializálása: soha ne olvasson olyan változóból, amelyhez még nem rendeltek értéket.
- Visszatérési értékek ellenőrzése:
malloc, a fájl I/O és a rendszerhívások minden hibát visszatérési kódokon keresztül jeleznek. - Párosítás minden
mallocval,-velfree: Használjon statikus elemzést vagy AddressSanitizert a szivárgások észleléséhez. - Biztonságosabb karakterlánc-függvényeket részesíts előnyben: használ
snprintfhelyettsprintfés astrncpytörődéssel. - Használjon fejlécvédőket: védje meg minden fejlécet egy
#ifndef / #define / #endifőr. - Törekedj a szabványra: Hordozható ANSI/C99/C11 kódot írj, kivéve, ha kényszerítő okod van a fordítási kiterjesztések használatára.




