Prueba
Título de Grado en Ingeniería Informática
Curso 2013/14
Departamento de Ingeniería de la Información y las Comunicaciones
Universidad de Murcia
1
Temario
Tema 0. Introducción a C
0.1 Introducción
0.2 Manipulación básica de datos
0.3 Sentencias de control del flujo de ejecución
0.4 Funciones
0.5 Ámbito y extensión
0.6 Estructuras de datos
0.7Apuntadores
0.8 Asignación dinámica de memoria
0.9 Ficheros
0.10 Gestión de errores
0.11 El preprocesador de C
0.12 Programación modular
Tecnología de la Programación
Tema 0. Introducción a C
2
0.1.1 Historia del lenguaje y características
C es un lenguaje de programación creado en 1972 por Dennis M.
Ritchie en los Laboratorios Bell orientado a la implementación del
SistemaOperativo Unix.
ANSI fue la primera estandarización del lenguaje C con el estándar
X3.159-1989. Posteriormente, en 1990, fue ratificado como
estándar ISO (ISO/IEC 9899:1990).
A mediados de los ochenta se crea una extensión del lenguaje C
orientada a objetos, C++, el cual se convierte en estándar ISO en
1998. Tras el proceso de estandarización de ANSI, la
especificación del lenguaje C permaneciórelativamente estable
durante algún tiempo, mientras que C++ siguió evolucionando. Sin
embargo, el estándar continuó bajo revisión hasta la publicación del
estándar ISO 9899:1999. Este estándar se denomina habitualmente
"C99". Se adoptó como estándar ANSI en marzo de 2000.
Actualmente el lenguaje C no está sujeto a más modificaciones, ya que
es el lenguaje C++ el que incorporará nuevos cambios.Tecnología de la Programación
Tema 0. Introducción a C
3
0.1.1 Historia del lenguaje y características
Características:
– Combina la abstracción de lenguajes de alto nivel con la eficiencia del
lenguaje máquina por lo que está considerado como un lenguaje de
"medio nivel".
– Débilmente tipado: Conversiones implícitas de tipos.
– No encapsulado
Ventajas:
–
–
–
–
–Altamente transportable.
Muy flexible.
Genera código eficiente.
Muy expresivo.
Permite programar con múltiples estilos, siendo el estilo estructurado el
más empleado, si bien permite ciertas licencias de ruptura.
Inconvenientes:
–
–
–
–
Poco modular.
Realiza pocas comprobaciones.
Da poca disciplina al programador.
Resulta difícil de interpretar el código escrito por otrosprogramadores.
Tecnología de la Programación
Tema 0. Introducción a C
4
0.1.2 Fases de desarrollo
1. Preprocesador
Transforma el código fuente (ficheros *.c y *.h):
• Elimina los comentarios.
• Incluye el contenido de otros ficheros fuente.
• Sustituye las macros.
2. Compilador
Analiza léxica, sintáctica y semánticamente el código fuente
generado por el preprocesador y lo convierte encódigo
objeto: ficheros *.o
3. Enlazador
A partir de los códigos objeto y las bibliotecas genera el ejecutable
binario: fichero *.exe (Windows)
Tecnología de la Programación
Tema 0. Introducción a C
5
0.1.3 Datos y sentencias
•
Estructuras de datos
–
–
–
–
–
•
Sentencias
–
–
–
•
Literales
Tipos básicos
Tipos enumerados
Tipos estructurados
Punteros yvectores
Condicionales: if, switch
Iterativas: while, for, do...while
Funciones
Otros componentes (tratados por el preprocesador)
–
–
–
–
Comentarios
Inclusión de ficheros
Macros
Compilación condicional
Tecnología de la Programación
Tema 0. Introducción a C
6
0.1.4 Estructura de un fichero fuente
La estructura típica de un fichero fuente en C es la
siguiente:
#include#include
[Declaración de funciones]
[Definición de funciones]
[Declaración de variables globales]
main()
{
...
}
Tecnología de la Programación
Tema 0. Introducción a C
7
0.1.5 Comentarios
Comentarios de una línea:
// Ejemplo de comentario en una linea
Comentarios de más de una línea:
/* Ejemplo de comentario
que tiene mas de
una linea.
*/
Tecnología de la Programación...
Regístrate para leer el documento completo.