sábado, 13 de diciembre de 2008


Lenguaje de programación C

C es un lenguaje de programación creado en 1972 por Ken Thompson y Dennis M. Ritchie, es un lenguaje orientado a la implementación de Sistemas Operativos, concretamente Unix. C es apreciado por la eficiencia del código que produce y es el lenguaje de programación más popular para crear software de sistemas, aunque también se utiliza para crear aplicaciones. Aunque se ha utilizado con éxito en el diseño de compiladores y sistemas operativos , el C tambien se ha empleado ampliamente en la creacion de grandes programas en mu8chisimos campos y entornos.El C establece coloquios directos con harwart.
Se trata de un lenguaje débilmente tipificado de medio nivel pero con muchas características de bajo nivel. Dispone de las estructuras típicas de los lenguajes de alto nivel pero, a su vez, dispone de construcciones del lenguaje que permiten un control a muy bajo nivel. Los compiladores suelen ofrecer extensiones al lenguaje que posibilitan mezclar código en ensamblador con código C o acceder directamente a memoria o dispositivos periféricos.
La primera estandarización del lenguaje C fue en ANSI, con el estándar X3.159-1989. El lenguaje que define este estándar fue conocido vulgarmente como ANSI C. Posteriormente, en 1990, fue ratificado como estándar ISO (ISO/IEC 9899:1990).




C tiene las siguientes características de importancia:


  • Un núcleo del lenguaje simple, con funcionalidades añadidas importantes, como funciones matemáticas y de manejo de ficheros, proporcionadas por bibliotecas.


  • Es un lenguaje muy flexible que permite programar con múltiples estilos. Uno de los más empleados es el estructurado no llevado al extremo (permitiendo ciertas licencias rupturistas).


  • Un sistema de tipos que impide operaciones sin sentido.


  • Usa un lenguaje de preprocesado, el preprocesador de C, para tareas como definir macros e incluir múltiples ficheros de código fuente.


  • Acceso a memoria de bajo nivel mediante el uso de punteros.


  • Interrupciones al procesador con uniones.


  • Un conjunto reducido de palabras clave.


  • Por defecto, el paso de parámetros a una función se realiza por valor. El paso por referencia se consigue pasando explícitamente a las funciones las direcciones de memoria de dichos parámetros.


  • Punteros a funciones y variables estáticas, que permiten una forma rudimentaria de encapsulado y polimorfismo.


  • Tipos de datos agregados (struct) que permiten que datos relacionados (como un empleado, que tiene un id, un nombre y un salario) se combinen y se manipulen como un todo (en una única variable "empleado").



Por ejemplo, la implementación original de C++ consistía en un preprocesador que traducía código fuente C++ a C. La mayoría de las funciones orientadas a objetos incluyen un puntero especial, que normalmente recibe el nombre "this", que se refiere al objeto al que pertenece la función. Mediante el paso de este puntero como un argumento de función, esta funcionalidad puede desempeñarse en C. Por ejemplo:




Las palabras reservadas son aquel grupo de identificadores (palabras) que no pueden ser utilizadas por el usuario para nombrar a las variables, funciones, procedimientos, objetos y demás elementos de programación que cree.Generalmente esto se debe a que el propio lenguaje de programación ya las utiliza, por esta razón, las palabras reservadas no pueden ser empleadas como identificadores definidos por el usuario.Cada lenguaje de programación tiene su propio grupo de palabras reservadas, pero en general coinciden algunas de las siguientes: and, array, begin, case, const, default, do, else, end, file, for, function, goto, if, in, label, mod, not, of, or, repeat, return, then, to, type, until, void, while, etc.