Llenguatge C
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 caracteristiques 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 estandarització del llenguatge C fou en ANSI, amb l'estàndar X3.159-1989. El llenguatge que defineix aquest estàndar fou conegut vulgarment com a ANSI C. Posteriorment, el 1990, fou ratificat com a estàndar ISO (ISO/IEC 9899:1990). L'adopció d'aquest estàndar é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.
Taula de continguts |
[modifica] Versions de C
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 estandaritzar el 1990
- C99, adoptat com a estàndard per l'ANSI el 2000
[modifica] Programa d'exemple
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 en examinar el codi durant la compilació- substitueixi tota la línia pel contingut complert 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 al 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ó.
[modifica] Llenguatges derivats
[modifica] Vegeu també
[modifica] Enllaços externs
- Web de l'estàndard C més recent (anglès)
- Draft ANSI C Rationale (ANSI X3J11/88-151) (anglès) de 18 de Novembre de 1988.
- GNU Compilers collection (anglès) Compilador de codi obert per a C, C++, Objective-C i d'altres per a diversos entorns incloent Linux.
- LLVM - CLang (anglès) Frontal de C per al compilador de codi obert LLVM.
- Borland C (anglès) Compilador de C i C++ per a Windows.
|
|||||