Llenguatge C

De Viquipèdia
Dreceres ràpides: navegació, cerca
C
Títol del llibre de Thompson i Ritchie
Aparegut l'any: 1972[1]
Desenvolupador: Kenneth L. Thompson, Dennis Ritchie & Bell Labs (creadors);
ANSI X3J11 (ANSI C)
ISO/IEC JTC1/SC22/WG14 (ISO C)
Darrera versió estable: C11 /desembre de 2011
Tipus de dades: estàtic, feble, manifest i nominal
Majors implementacions múltiples, per exemple GCC, Intel C
Dialectes: Cyclone
Influenciat per: B (BCPL, CPL), ALGOL 68,[2] Assemblador, PL/I, FORTRAN
Ha influenciat: AMPL, AWK, csh, C++, C--, C#, Objective-C, BitC, D, Go, Rust, Java, JavaScript, Limbo, LPC, Perl, PHP, Pike, Processing, Seed7, Verilog (HDL)[3]
Sistema operatiu: multiplataforma
Extensió dels fitxers: .c,.h

El llenguatge de programació C o llenguatge C, va ser creat per Dennis Ritchie i Ken Thompson als Laboratoris Bell d'AT&T, a principis de la dècada dels 70. C està basat en un llenguatge que havia creat Ken Thompson anomenat llenguatge B el 1970. El llenguatge C es va crear per la necessitat de tenir-ne un que fos més flexible que l'assemblador a l'hora de programar, però que mantingués la característica de ser un llenguatge proper a la màquina. En la seva absència, el llenguatge C es va fer per a poder crear el sistema operatiu Unix. Actualment, C és el llenguatge més utilitzat per a desenvolupar sistemes operatius i altres tipus de programari bàsic, i també per aplicacions en general. El llenguatge C++ es va desenvolupar a partir de C.

C és apreciat per l'eficiència del codi que produeix i és el llenguatge de programació més popular per a crear software de sistemes, tot i que també s'utilitza per a crear aplicacions.

Es tracta d'un llenguatge dèbilment tipat de mig nivell però amb moltes característiques de baix nivell. Disposa de les estructures típiques dels llenguatges d'alt nivell però, també disposa de construccions del llenguatge que permeten un control a molt baix nivell. Els compiladors solen oferir extensions al llenguatge que possibiliten barrejar codi en assemblador amb codi C o accedir directament a memòria o a dispositius perifèrics.

La primera estandardització del llenguatge C fou en ANSI, amb l'estàndard X3.159-1989. El llenguatge que defineix aquest estàndard fou conegut vulgarment com a ANSI C. Posteriorment, el 1990, fou ratificat com a estàndard ISO (ISO/IEC 9899:1990). L'adopció d'aquest estàndard és molt àmplia, així que, si els programes creats el segueixen, el codi és portable entre plataformes i/o arquitectures. En la pràctica, els programadors solen utilitzar elements no-portables depenents del compilador o del sistema operatiu.

Versions de C[modifica | modifica el codi]

Existeixen 3 versions principals de C:

  • Kernighan and Ritchie (K & R), basat en el llibre The C Programming Language (el llenguatge de programació C), de Kernighan i Ritchie
  • ANSI C / ISO C, és la versió que es va estandarditzar el 1990
  • C99, adoptat com a estàndard per l'ANSI el 2000

Programa d'exemple[modifica | modifica el codi]

Aquest programa escriu "Hola món" al dispositiu de sortida de defecte (habitualment el monitor).

 #include <stdio.h>
 
 int main(void)
 {
     printf("Hola, món!\n");
     return 0;
 }

La primera línia del programa consisteix en una directiva del preprocesador, indicada per #include. Això provoca que el preprocessador -la primera eina a examinar el codi durant la compilació- substitueixi tota la línia pel contingut complet del fitxer de capçalera stdio.h que conté les declaracions de les funcions estàndards d'entrada i sortida com printf.

La següent línia indica que s'està definint una funció amb el nom de main que retornarà un valor de tipus enter i que no accepta cap paràmetre.

Els claudàtors delimiten un bloc de codi, en aquest cas a l'anar precedits de la declaració de la funció main, correspon a la seva definició.

La primera línia del bloc de definició de main és printf("Hola, món!\n"); Aquesta línia indica que s'ha de cridar una funció printf i s'ha de passar com argument a aquesta funció la cadena "Hola, món!\n". La funció printf forma part de la llibreria de funcions estàndard de C i s'encarrega d'imprimir la cadena que se li passa com argument, per la sortida estàndard que sol ser la pantalla. El caràcter \n indica que s'ha de fer un salt de línia i retorn de carro després d'imprimir la cadena.

Per últim la línia següent indica que s'ha de retornar el valor 0. Aquest valor es retorna al procés que ha cridat el programa -sol ser el sistema operatiu- indicant en aquest cas absència d'errors en l'execució.

Llenguatges derivats[modifica | modifica el codi]

Vegeu també[modifica | modifica el codi]

Referències[modifica | modifica el codi]

  1. Ritchie, Dennis M. «The Development of the C Language» (en anglès), gener 1993. [Consulta: 18 de juny de 2014].
  2. Ritchie, Dennis M. «The Development of the C Language» (en anglès), gener 1993. [Consulta: 18 de juny de 2014].
  3. «Verilog HDL (and C)» (en anglès). The Research School of Computer Science at the Australian National University, 2010-06-03. [Consulta: 18 de juny de 2014].

Enllaços externs[modifica | modifica el codi]

A Wikimedia Commons hi ha contingut multimèdia relatiu a: Llenguatge C Modifica l'enllaç a Wikidata