Consultar...

domingo, 7 de noviembre de 2010

Lenguaje C

Reseña Historica
Creado entre 1970 y 1972 por Brian Kernighan y Dennis Ritchie para escribir el código del sistema operativo UNIX.

Desde su nacimiento se fue implantando como el lenguaje de programación de sistemas favorito para muchos programadores, sobre todo por ser un lenguaje que conjugaba la abstracción de los lenguajes de alto nivel con la eficiencia del lenguaje máquina. Los programadores de sistemas que trabajaban sobre MS-DOS y Macintosh también utilizaban C, con lo cual la práctica totalidad de aplicaciones de sistema para microordenadores y para sistemas UNIX está escrita en este lenguaje.

A mediados de los ochenta el C se convierte en un estándar internacional ISO. Este estándar incluye tanto la definición del lenguaje como una enorme biblioteca de funciones para entrada/salida, tratamiento de textos, matemáticas, etc.

A mediados de los ochenta se crea el C++, extensión de C orientada a objetos. El C++ se convierte en estándar ISO en 1998. En el momento actual, el lenguaje C no va a modificarse más. Será el C++ el que incorporará nuevos cambios.

Fases de desarrollo de un programa en C

El preprocesador
Transforma el programa fuente, convirtiéndolo en otro archivo fuente “predigerido”. Las transformaciones incluyen:

Eliminar los comentarios.
Incluir en el fuente el contenido de los ficheros declarados con #include (a estos ficheros se les suele llamar cabeceras)
Sustituir en el fuente las macros declaradas con #define (ej. #define CIEN 100)
El compilador
Convierte el fuente entregado por el preprocesador en un archivo en lenguaje máquina: fichero objeto.

Algunos compiladores pasan por una fase intermedia en lenguaje ensamblador.

El enlazador
Un fichero objeto es código máquina, pero no se puede ejecutar, porque le falta código que se encuentra en otros archivos binarios.

El enlazador genera el ejecutable binario, a partir del contenido de los ficheros objetos y de las bibliotecas.

Las bibliotecas contienen el código de funciones precompiladas, a las que el archivo fuente llama (por ejemplo printf).

Componentes del lenguaje C

Sigue el paradigma de la programación estructurada:

Algoritmos+estructuras de datos = programas.

Estructuras de datos
literales
tipos básicos (todos numéricos)
tipos enumerados
tipos estructurados (struct, union)
punteros y vectores

Construcciones algorítmicas
construcciones condicionales (if,switch)
construcciones iterativas(while,for,do...while)
subrutinas (funciones)

Además de lo anterior, el C tiene otros elementos:

comentarios
inclusión de ficheros
macros
compilación condicional
El preprocesador es quien normalmente se encarga de interpretar estas construcciones.
Comentarios
En el C original, tienen la forma /* cualquier texto */

Los comentarios se pueden extender varias líneas

No se pueden anidar comentarios (comentarios dentro de otros)

En C++ se usan también comentarios de una sola línea. La sintaxis es

// cualquier texto

Todo lo que se escriba a partir de las dos barras es un comentario. El comentario termina con el final de la línea.

Ejemplos:

{
/* Esto es un comentario
que ocupa varias líneas
*/

// esto es un comentario de C++
// y esto es otro comentario
}
Manipulación básica de datos
Literales
Tipos básicos
Declaraciones de variables
Rangos de valores y tipos modificados
Nombres de variables (identificadores)
Expresiones
Asignaciones
Operadores booleanos
Operadores avanzados


Tipos básicos

Los datos en C han de tener un tipo. Las variables contienen datos, y se han de declarar del tipo adecuado a los valores que van a contener.

El C dispone de estos tipos básicos:

int
enteros (números enteros positivos y negativos)

char
caracteres (letras)

float
números en coma flotante (números reales)

double
números en coma flotante de doble precisión

void
no-tipo (se emplea con punteros)

Todos estos tipos -salvo void- son tipos numéricos. Incluso el tipo char.

Se pueden construir tipos de datos más elaborados a partir de estos tipos básicos:

Vectores y matrices
Punteros
Tipos estructurados (registros)


No hay comentarios:

Publicar un comentario