Introducción al lenguaje C El lenguaje de programación C Uno de los lenguajes de programación más usados z z z z z gcarvajalb@gmail.com Alto nivel, aunque suele llamarsele de medio nivel Ofrece características que permiten control a muy bajo nivel Programador tiene control sobre el computador Usado tanto para sistemas operativos como para aplicaciones z z Historia z C fue creado por z z z Historia z Dennis M. Ritchie y Ken Thompson z Bell Labs Entre 1969 y 1973 Brian Kernighan y Dennis Ritchie, “El lenguaje de programación C”, Prentice-Hall, 1978 z z Describe informalmente la primera versión del lenguaje El “antiguo testamento” Eficiencia Portabilidad C desciende de z z z z z BCPL B (BCPL en 8KB) Orientado a la implementación de Sistemas Operativos (específicamente UNIX) “Por programadores para programadores” Desarrollado en computadores z z DEC PDP-7 DEC PDP-11 Historia Historia z American National Standards Institute genera comité X3J11 para estandarizar lenguaje C z z Dennis Ritchie y Ken Thompson desarrollando UNIX en un PDP-11 ANSI C estándar X3.159-1989 (C89) Adoptado por la International Standards Organization como ISO/IEC 9899:1990 (C90) z z z Básicamente igual a C89 Versión más usada Si los programas creados lo siguen, el código es portable entre plataformas y/o arquitecturas Lenguaje de programación C Historia z El lenguaje de programación C”, 2da. Ed. z z z z z z z Publicado en 1988 Describe ANSI C El “nuevo testamento” Revisión del estándar ISO z z z z Conocido como C99 Agrega tipos de datos como long long, _Bool Agrega nuevas bibliotecas y funciones z Funciones complejas vienen en bibliotecas Es fácil escribir un compilador C z z Se describe un conjunto de instrucciones que deben ejecutarse para variar el estado del programa y hallar la solución (algoritmo) Orientado a las funciones Conjunto básico de funciones z ISO 9899:1999 z Lenguaje imperativo (procedural) Generalmente es el primer compilador escrito para un computador nuevo Compiladores muy buenos disponibles Tópicos a tratar en el curso z z z z z z z z z Tipos de datos de C Declaraciones Proposiciones Operadores Punteros Vectores Ristras de caracteres Funciones Manejo de memoria z z z z z z z z Preprocesador Funciones de E/S Recursión Estructuras de datos Estructuras avanzadas Pilas y colas Árboles .... Cita de la semana z 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