Hva er C Programming Language?
โก Smart oppsummering
C Programming Language er et generelt, strukturert sprรฅk laget i 1972 av Dennis Ritchie ved Bell Labs. Det er maskinuavhengig, raskt og danner grunnlaget for systemprogramvare, operativsystemer, innebygd firmware og moderne sprรฅk som C++, Javaog Python.

Hva er C Programming Language?
C er et generelt programmeringssprรฅk som er ekstremt populรฆrt, enkelt og fleksibelt รฅ bruke. Det er et strukturert, maskinuavhengig sprรฅk som brukes til รฅ skrive et stort spekter av applikasjoner โ fra operativsystemer som Windows og Linux til komplekse programmer som Oracle databasen, Git og Python tolk.
C kalles ofte grunnlaget for moderne programmering. Nรฅr du fรธrst kan C, blir det mye enklere รฅ lรฆre andre sprรฅk fordi de fleste lรฅner konseptene fra det. En grunnleggende forstรฅelse av datamaskinens minne hjelper ogsรฅ, fordi minne er sentralt i nesten alle C-programmer.
IEEE โ de ti beste programmeringssprรฅkene i 2018.
Denne veiledningen gรฅr gjennom det grunnleggende om programmeringssprรฅket C: dets historie, grunnleggende kommandoer, viktige bruksomrรฅder, hvorfor det fortsatt er verdt รฅ lรฆre seg, og hvordan kompileringsmodellen fungerer.
Historien om C-sprรฅket
C oppsto ikke isolert โ det vokste ut av en kjede av tidligere systemsprรฅk:
- ALGOL (1960): ofte kalt programmeringssprรฅkenes far. ALGOL introduserte strukturert programmering for det bredere utviklermiljรธet og ble bredt tatt i bruk pรฅ tvers av europeiske universiteter.
- BCPL (1967): Grunnleggende kombinert programmeringssprรฅk , designet av Martin Richards for รฅ skrive systemprogramvare.
- B (1970): introdusert av Ken Thompson ved AT&T Bell Laboratories. B arvet mange BCPL-funksjoner og ble brukt til รฅ skrive tidlige UNIX-verktรธy.
In 1972, Dennis Ritchie skapte C pรฅ Bell Laboratories. C hentet de beste ideene fra ALGOL, BCPL og B, og la til nye konsepter som gjorde den mer uttrykksfull enn noen av forgjengerne.
C er sterkt assosiert med UNIX โ mye av selve UNIX-operativsystemet ble omskrevet i C. Etter hvert som C spredte seg utenfor Bell Labs, dukket det opp kommersielle kompilatorer for mange plattformer, og sprรฅket utviklet seg til flere inkompatible dialekter. For รฅ gjenopprette konsistens publiserte American National Standards Institute (ANSI) en C-standard i 1989, og Den internasjonale standardiseringsorganisasjonen (ISO) ratifiserte den i 1990Den standardiserte versjonen kalles ofte ANSI C.
C.s historie
Sprรฅk som f.eks C++ og Java ble utviklet direkte fra C, og mange moderne sprรฅk tar i bruk dens syntaks og konvensjoner. C danner derfor grunnlaget for en stor andel av dagens programvare.
C Grunnleggende kommandoer
Fรธlgende kommandoer danner skjelettet til nesten alle C-programmer.
| C grunnleggende kommando | Forklaring |
|---|---|
#include <stdio.h> |
Inkluderer standard input-output header-fil fra C-biblioteket fรธr kompilering. |
int main() |
Hovedfunksjonen โ utfรธrelsen av alle C-programmer โ begynner her. |
{ |
Markerer begynnelsen pรฅ hovedfunksjonsblokken. |
/* some_comments */ |
En kommentar. Kompilatoren ignorerer alt mellom /* og */. |
printf("Hello, World!"); |
Skriver ut resultatet til skjermen. |
getch(); |
Leser et enkelt tegn fra tastaturet (ikke-standard, brukes hovedsakelig med Turbo C). |
return 0; |
Avslutter hovedfunksjonen og returnerer verdien 0 til operativsystemet. |
} |
Markerer slutten pรฅ hovedfunksjonsblokken. |
Hvor brukes C? Viktige bruksomrรฅder
C kjรธrer pรฅ steder de fleste brukere aldri ser, men fotavtrykket er enormt. Vanlige omrรฅder inkluderer:
- Innebygde systemer og mikrokontroller-firmware.
- Systemnivรฅapplikasjoner og drivere.
- Skrivebordsapplikasjoner, inkludert mange Adobe-produkter.
- Nettlesere og deres utvidelser โ GoogleKrom inneholder en stor mengde C/C++ kode.
- Databaser โ MySQL er en av de mest populรฆre databasene skrevet i C.
- Operating-systemer โ Apples macOS (Darwin), Microsoft Windows, Linux og historisk sett Symbian ble alle bygget med C.
- Kompilatorer, sprรฅkkjรธretider og tolker.
- Tingenes internett (IoT)-enheter og fastvare for hjemmeautomasjon.
Hvorfor lรฆre C-sprรฅket?
C er grunnlaget for mange programmeringssprรฅk, sรฅ det รฅ lรฆre C gjรธr det lettere รฅ lรฆre seg alle pรฅfรธlgende sprรฅk. Det introduserer de samme datatypene, operatorene og kontrollsetningene du vil se i C++, Java, Python, og Gรฅ.
De viktigste grunnene til รฅ investere i C er:
- Hastighet: C kompilerer til native kode og gir deg finjustert kontroll over minnet.
- portabilitet: Programmer skrevet i C kan kompileres pรฅ nytt og kjรธres pรฅ sรฅ godt som alle plattformer.
- Struktur: Et C-program er delt inn i moduler, noe som gjรธr det enklere รฅ teste, vedlikeholde og feilsรธke.
- Kompakt kjerne: C har bare 32 nรธkkelord, flere datatyper og et kraftig innebygd bibliotek.
- utvidelses~~POS=TRUNC: Du kan legge til dine egne funksjoner i et bibliotek og kalle dem som om de var innebygde.
- Karriereverdi: Innebygde, kjerne- og hรธyytelsesroller krever fortsatt sterke C-ferdigheter.
Hvordan C Programming Language Works
C er et kompilert sprรฅk. Kompilatoren leser kildekoden og produserer en objektfil som maskinen kan forstรฅ. Lenkeren kombinerer deretter en eller flere objektfiler (og eventuelle biblioteker du refererer til) til รฉn kjรธrbar fil som kan kjรธres pรฅ mรฅlplattformen. Diagrammet nedenfor viser hele utfรธrelsesflyten.
Mange kompilatorer er tilgjengelige โ bรฅde online og offline โ og de fรธlger alle den samme prosessen. Populรฆre valg inkluderer:
- GCC โ GNU Compiler Collection, de facto-standarden pรฅ Linux og mange innebygde mรฅl.
- klang โ det LLVM-baserte frontend-grensesnittet, som brukes som standard pรฅ macOS.
- MinGW โ Minimalistisk GNU for Windows, bringer GCC til Windows brukere.
- Bรฆrbar C-kompilator (pcc).
- Turbo C โ den klassiske kompilatoren som fortsatt brukes i mange akademiske kurs.
Fordeler og ulemper med C
Tabellen nedenfor oppsummerer avveiningene du bรธr veie fรธr du velger C for et nytt prosjekt.
| Fordeler | Ulemper |
|---|---|
| Rask tilgang til minne og maskinvare pรฅ lavt nivรฅ. | Manuell minnehรฅndtering inviterer til feil som lekkasjer og bufferoverlรธp. |
| Bรฆrbar pรฅ tvers av arkitekturer og operativsystemer. | Ingen innebygd objektorientering eller generiske funksjoner. |
| Kompakt syntaks med bare 32 nรธkkelord. | Ingen innebygd sikkerhetsnett โ udefinert atferd kan krasje stille. |
| Stort รธkosystem av kompilatorer, feilsรธkingsprogrammer og biblioteker. | Utfรธrlig for applikasjonskode pรฅ hรธyt nivรฅ sammenlignet med skriptsprรฅk. |
| Foundation for moderne sprรฅk โ ferdighetsoverfรธring er enkel. | Tregere produktivitet for oppgaver der administrerte sprรฅk ville vรฆrt tilstrekkelig. |
Beste praksis nรฅr du skriver C
Vanene nedenfor holder C-kodebaser lesbare, bรฆrbare og fri for vanlige minnefeil:
- Aktiver advarsler: kompilere med
-Wall -Wextra -Werrorsรฅ subtile problemer mislykkes i byggingen. - Initialiser variabler: aldri les fra en variabel som ikke har fรฅtt tildelt en verdi.
- Sjekk returverdiene:
malloc, fil-I/O og systemkall signaliserer alle feil via returkoder. - Koble sammen hver
mallocmedfree: bruk statisk analyse eller AddressSanitizer for รฅ fange opp lekkasjer. - Foretrekker tryggere strengfunksjoner: bruke
snprintfistedenforsprintfogstrncpymed forsiktighet. - Bruk toppbeskyttere: beskytt hver overskrift med en
#ifndef / #define / #endifvakt. - Stol pรฅ standarden: skriv portabel ANSI/C99/C11-kode med mindre du har en overbevisende grunn til รฅ bruke kompilatorutvidelser.




