250 likes | 932 Views
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 Pascal Cobol Fortran BASIC C Lenguaje macro-ensamblador Lenguaje ensamblador. Alto Nivel
E N D
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 Pascal Cobol Fortran BASIC C 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
gcc nombre_programa.c -o nombre_ejecutable ./nombre_ejecutable Compilación y Ejecución de un programa en C • Compilación en el sistema operativo Linux: • Ejecución de un programa en Linux: 1
Estructura de un programa • Variables que “ven” • las sentencias • de todas las funciones variables globales main(){ variables locales secuencia de sentencias } f1(){ variables locales secuencia de sentencias } .... fn(){ variables locales secuencia de sentencias } • 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
Pila Montón Variables Globales Instrucciones del programa Estructura de memoria de C 1
#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”); } Primer Programa • Ejemplo, el primer programa: • Lo que está entre comillas • sale en pantalla • Es un comentario • No es ejecutado • Es un encabezado 1
Programas Fuente Programas Fuente Programa Fuente n Programa Fuente 1 Programas Fuente Compilador Compilador Compilador Compilador Compilador Programas Objeto Programas Objeto Programa Objeto Programa Objeto Programas Objeto Enlace Programa Ejecutable Programa ejecutable • Pasos para obtener un programa ejecutable: Programas usuario: Librerías: 1