Estructura de un programa C
Lenguajes de Programación 1.- Lenguaje de alto nivel 2.- Lenguaje de bajo nivel (ensamblador) 3.- Lenguaje de máquina 1
C y otros Lenguajes Ada Modula-2 Alto Nivel Pascal Cobol Fortran BASIC Lenguaje macro-ensamblador Lenguaje ensamblador. Alto Nivel Bajo Nivel 1
Traductores Traducen el lenguaje de alto nivel a lenguaje de máquina. Hay que distinguir entre: Compiladores Interpretes 1
Lenguaje C Es un lenguaje de propósito general. Altamente transportable. Se considera un lenguaje de alto nivel orientado a la máquina C fue creado por Brian Kernighan y Dennis Ritchie en los laboratorios Bell de AT&T. El sistema operativo Unix está escrito principalmente en C. El sistema Linux es de la familia Unix
Lenguaje C Características: Programación Estructurada. Economía de expresiones. Gran cantidad de operadores y tipos de datos. Codificación en alto y bajo nivel simultáneamente. Reemplaza ventajosamente la programación en ensamblador. Utilización natural de las funciones primitivas del sistema operativo (Unix) De propósito general.
Lenguaje C Desventajas: No posee de instrucciones de entrada y salida. No posee de instrucciones de manejo de cadena de caracteres. La libertad en la escritura en los programas lleva a errores en la programación que, por ser correctos sintácticamente no se detectan a simple vista. La precedencia de operadores convierten las expresiones en pequeños rompecabezas. 1
Historia 1967, Martin Richard crea el lenguaje BCPL 1970, Ken Thompson crea el lenguaje B. Transportable. Lenguaje evolucionado e independiente de la máquina. 1972, Dennis Ritchie y Brian Kernighan en los Laboratorios Bell de AT&T crea el lenguaje C modicando el lenguaje B. Ken Thompson reescribe Unix en C. Se diseñan tipos y estructuras de datos. Incluye punteros y funciones. Riqueza de operadores. 1983, el instituto de estándares americano (ANSI) crea un estándar que definiera el lenguaje C. 1990, el estándar es adoptado. 1
Compiladores C Para el sistema operativo Linux: Gcc/ g++ Para el sistema operativo Windows: Turbo C/C++ Borland C/C++ Visual C++ Etc. Editores de texto para Linux: Vi, gedit, kedit, jed, emacs, etc.. 1
Compilación y Ejecución de un programa en C Compilación en el sistema operativo Linux: Ejecución de un programa en Linux: gcc nombre_programa.c -o nombre_ejecutable ./nombre_ejecutable 1
Estructura de un programa Variables que “ven” las sentencias de todas las funciones variables globales main(){ variables locales secuencia de sentencias } f1(){ .... fn(){ Variables que “ven” sólo las sentencias de esta función La función con nombre “main” inicia la ejecución Otras ‘n’ posibles funciones con sus variables locales. (los nombres pueden ser otros) 1
Estructura de un programa Todos los programas en C consisten en una o más funciones. La única función que debe estar absolutamente presente es la denominada main() , es la función por la que comienza la ejecución del programa. 1
Estructura de memoria de C Pila Montón Variables Globales Instrucciones del programa 1
Primer Programa Ejemplo, el primer programa: Lo que está entre comillas sale en pantalla Es un encabezado Es un comentario No es ejecutado #include <stdio.h> /*Incluye los prototipos de una librería de entrada y salida estándar*/ void main(){ printf(“Hola Mundo!!\n”); printf(“Bienvenidos a Lenguaje Programación\n”); } 1
Programa ejecutable Pasos para obtener un programa ejecutable: Programas usuario: Programas Fuente Compilador Programas Objeto Programa Fuente 1 Programa Fuente n Compilador Programa Objeto Programas Fuente Compilador Programas Objeto Programas Fuente Compilador Programas Objeto Compilador Librerías: Programa Objeto Enlace Programa Ejecutable 1