Download Estructura de un programa C
Document related concepts
Transcript
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 Alto Nivel Modula-2 Pascal Cobol Fortran BASIC C Bajo Nivel Lenguaje macro-ensamblador Lenguaje ensamblador. 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: gcc nombre_programa.c -o nombre_ejecutable • Ejecución de un programa en Linux: ./nombre_ejecutable 1 Estructura de un programa •Variables que “ven” las sentencias de todas las funciones •Variables que “ven” sólo las sentencias de esta función •La función con nombre “main” inicia la ejecución variables globales main(){ variables locales secuencia de sentencias } f1(){ variables locales secuencia de sentencias } .... •Otras ‘n’ posibles funciones con sus variables locales. (los nombres pueden ser otros) fn(){ variables locales secuencia de sentencias } 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: •Es un encabezado •Es un comentario No es ejecutado •Lo que está entre comillas sale en pantalla #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: Programa Fuente 1 Compilador Programa Objeto Programas Programas Programas Fuente Fuente Fuente Programa Fuente n Compilador Compilador Compilador Compilador Programa Objeto Librerías: Programas Programas Programas Objeto Objeto Objeto Enlace Programa Ejecutable 1