Lenguaje en c++

Solo disponible en BuenasTareas
  • Páginas : 5 (1017 palabras )
  • Descarga(s) : 0
  • Publicado : 18 de noviembre de 2010
Leer documento completo
Vista previa del texto
al lenguaje en C
I. Introducción al Lenguaje C

1. 1 Historia

1. 1. 1. Reseña histórica

C evolucionó a partir de dos lenguajes previos como fueron B y B. BCPL que fue desarrollado en 1967 por Martin Richards. Fue diseñado como un lenguaje para escribir software y compiladores de sistemas operativos.

El lenguaje B fue modelado por Ken Thompson, con el fin de utilizarlo para crear lasversiones iniciales del sistema operativo UNIX. Los lenguajes B y BCPL eran lenguajes “sin tipo”, lo cual quiere decir que cada elemento de datos ocupaba una palabra “en memoria” y quedaba a cargo del programador el tratar cada tipo de datos como si se tratara de cualquier otro dato.

Hoy día, virtualmente, todos los sistemas operativos están escritos en C y/o C++. A lo largo de las últimas dosdécadas, C se ha hecho disponible para la mayor parte de las computadoras. C es independiente del hardware y portable para la mayoría de las computadoras.

La expansión rápida de C sobre varias plataformas de hardware trajo consigo muchas variantes. Las versiones tenían pocas diferencias entre sí, pero con muchos problemas de compatibilidad entre plataformas, por lo que se hacía necesaria laestandarización de C. En 1983 se creó el documento ANSI/ISO 9899:1990 donde se estandariza C, documento que es aprobado en 1988 y da lugar al ANSI C, versión que se utiliza actualmente en todo el mundo.

Hoy día, C++ posee una notable inserción en el mundo de las computadoras y es un de los lenguajes clásicos de programación: tanto sistemas operativos y compiladores, como aplicaciones.

1.2Características deseables de un programa en C

• C es un lenguaje estructurado de nivel medio, ni de bajo nivel como ensamblador, ni de alto nivel como Ada o Haskell. Esto permite una mayor flexibilidad y potencia, a cambio de menor abstracción.
• No se trata de un lenguaje fuertemente tipificado, lo que significa que se permite casi cualquier conversión de tipos. No es necesario que lostipos sean exactamente iguales para poder hacer conversiones, basta con que sean parecidos.
• No lleva a cabo comprobación de errores en tiempo de ejecución, por ejemplo no se comprueba que no se sobrepasen los límites de los arrays. El programador es el único responsable de llevar a cabo esas comprobaciones.
• Tiene un reducido número de palabras clave, unas 32 en C89 y 37 en C99.
• Cdispone de una biblioteca estándar que contiene numerosas funciones y que siempre está disponible, además de las extensiones que proporcione cada compilador o entorno de desarrollo.
En resumen, es un lenguaje muy flexible, muy potente, muy popular, pero que no protege al programador de sus errores.

1.3 Estructura de un programa en C

En general, un programa en C consta de las siguientespartes:

• Directivas al preprocesador: El preprocesador es un programa procesador-traductor de texto ASCII, recursivo, inteligente y sumamente potente.  Por ejemplo, puede incluir en un punto del programa fuente el contenido de un fichero de texto, que en una segunda pasada sufra nuevas modificaciones.  Con frecuencia los programadores experimentados construyen sus propias macros, defines ydirectivas condicionales de forma que casi llegan a construir un nuevo lenguaje dentro del lenguaje.  El propio C++ que ve el programador está construido en gran parte sobre directivas de preprocesado muy sofisticadas.
Durante la primera fase de la compilación de un programa, el preprocesador realiza ciertas modificaciones previas en el código fuente. Se trata de una auténtica traducción delcódigo siguiendo unas pautas explicitadas en las denominadas directivas de preproceso. Son sentencias que se sitúan normalmente al principio del código fuente, aunque legalmente pueden aparecer en cualquier punto del programa (tienen validez desde el punto de aparición hasta el final del fichero).
Las directivas de preproceso se identifican por ser líneas precedidas por el símbolo # que...
tracking img