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.

Download Report

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.

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

Alto Nivel

C y otros Lenguajes

Bajo Nivel Ada Modula-2 Pascal Cobol Fortran BASIC C 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 }

• Otras ‘n’ posibles funciones con sus variables locales.

(los nombres pueden ser otros)

f1(){ variables locales secuencia de sentencias } ....

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: • Lo que está entre comillas • Es un encabezado • Es un comentario sale en pantalla No es ejecutado

#include /*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

Programa Fuente

n

Programas Programas Fuente Compilador Compilador Programa Objeto Programa Objeto Compilador Librerías: Programas Programas Objeto Enlace Programa Ejecutable

1