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.

  • 🧱 Először is tanuld meg az alapokat: Mielőtt továbblépnénk a mutatókra, struktúrákra és dinamikus memóriára, sajátítsd el a fejléceket, a main függvényt, a printf függvényt és a zárójeleket.
  • 🏛️ Ismerd meg a történelmet: Az ALGOL → BCPL → B → C a leszármazási vonal; az ANSI C szabványt 1989-ben véglegesítették, az ISO pedig 1990-ben ratifikálta.
  • 🇧🇷 Értsd meg a fordítást: A fordító objektumfájlokat bocsát ki, és a linker egyetlen futtatható fájllá varázsolja őket, amely a célgépen fut.
  • 🌍 Alkalmazd széles körben: A C nyelv operációs rendszereket, adatbázisokat, böngészőket, beágyazott firmware-eket, IoT-eszközöket és fordítóprogramok eszközláncait működteti.
  • 🤖 Párosítsd a C-t mesterséges intelligencia eszközökkel: A mesterséges intelligencia asszisztensei elmagyarázzák a mutatóhibákat, biztonságosabb függvényeket javasolnak, és a sima angol kéréseket fordítható C kódrészletekké alakítják.

C Programming Language

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.

C Programming Language

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.

A C nyelv története

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

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:

  1. Beágyazott rendszerek és mikrokontroller firmware.
  2. Rendszerszintű alkalmazások és illesztőprogramok.
  3. Asztali alkalmazások, beleértve számos Adobe terméket.
  4. Webböngészők és bővítményeik — GoogleA króm nagy mennyiségű C-t tartalmaz.C++ kód.
  5. Adatbázisok — MySQL az egyik legnépszerűbb C nyelven írt adatbázis.
  6. Operating rendszerek — Apple macOS (Darwin), Microsoft WindowsA Linuxot és történelmileg a Symbiant is C nyelven fejlesztették.
  7. Fordítóprogramok, nyelvi futási környezetek és interpreterek.
  8. 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.

Hogyan C Programming Language Művek

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 -Werror olyan 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 malloc val,-vel free: 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 snprintf helyett sprintf és a strncpy tö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.

GYIK

Dennis Ritchie 1972-ben alkotta meg a C nyelvet a Bell Laboratories-nál. Az ALGOL, a BCPL és a B ötleteire építve C nyelven írta át az AT&T UNIX operációs rendszerének nagy részét.

A C egy procedurális nyelv, amely a függvényekre és a strukturált programozásra összpontosít. C++ objektumorientációt, osztályokat, sablonokat és a Standard Template Library-t adja hozzá, miközben megtartja aping A C szintaxisának nagy része.

A C nyelvet gyakran középszintű nyelvnek nevezik. Elég magas szintű ahhoz, hogy olvasható és hordozható legyen, mégis elég alacsony szintű ahhoz, hogy a memóriacímeket és a hardverregisztereket közvetlenül mutatókon keresztül manipulálja.

Az ANSI C 32 foglalt kulcsszót definiál. Later olyan szabványok, mint a C99 és a C11, még néhányat hozzáadtak, többek között inline, _Boolés _Static_assert, de a mag kicsi és következetes marad.

Az ANSI C a C nyelvnek az Amerikai Nemzeti Szabványügyi Intézet által 1989-ben szabványosított és az ISO által 1990-ben ratifikált változata. Hordozható szintaxist, szabványos könyvtárat és fordítóprogram viselkedését határozza meg.

Igen. A C továbbra is operációs rendszereket, beágyazott firmware-eket, adatbázisokat, nyelvi futtatókörnyezeteket és nagy teljesítményű könyvtárakat működtet. Számos mesterséges intelligencia és IoT eszközlánc a C-re támaszkodik a sebesség és a hordozhatóság érdekében.

A mesterséges intelligencia asszisztensei egyszerű angol nyelven magyarázzák el a fordítási hibákat, és biztonságosabb alternatívákat javasolnak a kockázatos függvényekre, mint például gets, és a kezdőknek példákkal illusztrálva bemutatják a mutató és a memória alapfogalmait.

Igen. A mesterséges intelligencia által fejlesztett kódasszisztensek olyan egyszerű angol kéréseket, mint például a „CSV-fájl beolvasása és a második oszlop összegzése”, működő C programokká alakítanak, és elmagyarázzák az egyes függvényeket, hogy a kezdők a futtatás előtt áttekinthessék azokat.

Foglald össze ezt a bejegyzést a következőképpen: