C (programmeringssprog)

Fra Wikipedia, den frie encyklopædi
For alternative betydninger, se C (flertydig). (Se også artikler, som begynder med C)

C er navnet på et imperativt programmeringssprog udviklet af Dennis Ritchie. C er et meget udbredt programmeringssprog der har sine rødder i UNIX-verden. Størstedelen af UNIX er skrevet i C. C startede sit liv netop til udvikling af UNIX, og var i starten blot en videreudvikling af sproget B (udviklet af Ken Thompson), og derfor kaldte man det C. Både B og C var inspireret af sproget BCPL udviklet af Martin Richards ved Cambridge University, England.

Oprindelig var C et sprog der tillod brugeren meget store frihedsgrader; egentlig en slags struktureret assemblerkode, der fokuserede på at skrive programmer der var lettere at læse og vedligeholde end assemblerkode, men samtidig kørte så hurtigt som muligt. Problemet med tidlig C var at det var "nemt" at skrive programmer der fik computere til at gå i baglås, hvilket gjorde C mindre egnet end for eksempel Pascal, til at udvikle andet end systemprogrammel.

C-standarder[redigér | rediger kildetekst]

K&R C[redigér | rediger kildetekst]

I 1978 udkom bogen The C Programming Language af Dennis Ritchie og Brian Kernighan. Den version af C, som bogen beskriver, blev gennem mange år en de facto-standard som kaldes K&R C.

ANSI C[redigér | rediger kildetekst]

I 1983 begyndte den nationale standardiseringorganisation i USA, ANSI, at arbejde på en standard for C. Deres arbejde blev afsluttet i 1989 med udgivelsen af ANSI C.

C90[redigér | rediger kildetekst]

ANSI C blev (med nogle små ændringer) gjort til en international standard af ISO i 1990 med navnet ISO/IEC 9899:1990, normalt kaldt C90.

C99[redigér | rediger kildetekst]

ISO kom med mindre ændringer i 1995, og en ny standard med mere gennemgribende ændringer i 1999. Den nyere standard (ISO 9899:1999) kaldes C99.

C11[redigér | rediger kildetekst]

I 2007 begyndte arbejdet med en ny C standard. Den blev uformelt kaldt C1X indtil dens officielle udgivelse i 2011.

C17[redigér | rediger kildetekst]

Udgivet i juni 2018. C17 er den nuværende standard for programmeringssproget C.

C23[redigér | rediger kildetekst]

C23 er det uformelle navn for den næste standard for C. Den forventes udgivet i 2024

"Hello, world"-program[redigér | rediger kildetekst]

Det Hello world-program som var i den første udgave af bogen The C Programming Language har dannet model for et introducerende program i mange lærebøger om programming uanset programmeringssproget. Programmet udskriver teksten "hello, world" til standard uddata-enheden som for eksempel kan være en terminal eller en skærm.

Den originale version var:[1]

main()
{
    printf("hello, world\n");
}

Et "hello, world"-program som lever op til den nuværende standard for C er:[a]

#include <stdio.h>

int main(void)
{
    printf("hello, world\n");
}

Beskrivelse[redigér | rediger kildetekst]

Programmeringssproget C er velkendt som et grundlæggende simpelt sprog, der dog oftest er komplekst at udvikle applikationer i. Sproget består af muligheden for definition af structures, pointere, simple datatyper og arrays. Modsat andre programmeringssprog såsom Java og C# har C ikke fejlhåndtering indbygget i sproget.

Se også[redigér | rediger kildetekst]

  • C++ er et andet programmeringsprog, men bliver nogle gange forvekslet med C.
  • Objective-C, et andet objektorienteret programmeringssprog, som udvider C-standarden.

Noter[redigér | rediger kildetekst]

  1. ^ Den originale eksempelkode kan oversættes af de fleste moderne compilere som ikke er i en streng standard-overholdelsestilstand, men den lever ikke op til kravene i hverken C89 eller C99. C99 kræver endda at et diagnostisk meddelelse skal gives ved oversættelse af koden.

Referencer[redigér | rediger kildetekst]

  1. ^ Kernighan, Brian W.; Ritchie, Dennis M. (februar 1978). The C Programming Language (1st udgave). Englewood Cliffs, NJ: Prentice Hall. s. 6. ISBN 978-0-13-110163-0.
ProgrammeringSpire
Denne artikel om datalogi eller et datalogi-relateret emne er en spire som bør udbygges. Du er velkommen til at hjælpe Wikipedia ved at udvide den.