El lenguaje de programación C

Anuncio
Algoritmos y Lenguaje de Programación
2008-1
Introducción al lenguaje C
El lenguaje de
programación C
Mario Medina C.
mariomedina@udec.cl
• Uno de los lenguajes de programación más
usados
)Alto nivel
)“Cercano a la máquina”
)Programador tiene control sobre el computador
)Usado para tanto para sistemas operativos como
para aplicaciones
` Eficiencia
` Portabilidad
Historia
Historia
• C fue creado por
• C desciende de
)Dennis M. Ritchie
)BCPL
)B (BCPL en 8KB)
` Bell Labs
` Entre 1969 y 1973
)Brian Kernighan y Dennis Ritchie, “El lenguaje de
programación C”, Prentice-Hall, 1978
` Describe informalmente la primera versión del lenguaje
` El “antiguo testamento”
Historia
• Usado para escribir el sistema operativo UNIX
• Desarrollado en computadores
)DEC PDP-7
)DEC PDP-11
Historia
• American National Standards Institute genera
comité X3J11 para estandarizar lenguaje C
)ANSI C estándar X3.159-1989 (C89)
• Adoptado por la International Standards
Organization como ISO/IEC 9899:1990 (C90)
Dennis Ritchie
y Ken
Thompson
desarrollando
UNIX en un
PDP-11
©Mario Medina C.
)Básicamente igual a C89
)Versión más usada
1
Algoritmos y Lenguaje de Programación
2008-1
Historia
Lenguaje de programación C
• El lenguaje de programación C”, 2da. Ed.
• Lenguaje procedural
)Publicado en 1988
) Describe ANSI C
)El “nuevo testamento”
• Revisión del estándar ISO
)ISO 9899:1999
` Conocido como C99
` Agrega tipos de datos como long long, _Bool
` Agrega nuevas bibliotecas y funciones
)Orientado a las funciones
• Conjunto básico de funciones
)Funciones complejas vienen en bibliotecas
• Es fácil escribir un compilador C
)Generalmente es el primer compilador escrito
para un computador nuevo
• Compiladores muy buenos disponibles
Escritura de programas en C
Tópicos a tratar en el curso
• Formato libre
• Tipos de datos de C
• Declaraciones
• Proposiciones
• Operadores
• Punteros
• Vectores
• Ristras de caracteres
• Funciones
• Manejo de memoria
)Interpretación del código no depende del formato
del texto
• Distingue entre mayúsculas y minúsculas
• Permite comentarios entre /* y */
• C99: comentarios comienzan con //
/* Este es un comentario */
// Este tambien
• Preprocesador
• Funciones de E/S
• Recursión
• Estructuras de datos
• Estructuras avanzadas
• Pilas y colas
• Árboles
•....
Cita de la semana
Lectura para esta semana
• C, v.: Un lenguaje de programación que se
parece al Pascal excepto que es más parecido
al lenguaje de ensamblador pero que no se
parece mucho a ninguno de ambos, o a
cualquier otro. Es ya sea el mejor lenguaje
disponible hoy en día, o no lo es.
— Ray Simard
• Joel Spolsky, “Cosas que nunca se deberían
hacer, parte I”
©Mario Medina C.
)http://spanish.joelonsoftware.com/Articles/Thing
sYouShouldNeverDoPar.html
)Peor error estratégico: reescribir el código desde
cero
)Es mas difícil leer código que escribirlo
)El código fuente no se oxida
2
Descargar