SlideShare una empresa de Scribd logo
1 de 14
Estructura de un programa C
1
Lenguajes de Programación
1.- Lenguaje de alto nivel
2.- Lenguaje de medio nivel (ensamblador)
3.- Lenguaje de bajo nivel (máquina)
1
C y otros Lenguajes
Alto Nivel
Medio 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
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.
– Reemplaza ventajosamente la programación en
ensamblador.
– Utilización natural de las funciones primitivas del sistema
operativo (Unix)
– De propósito general.
1
Lenguaje C
• Desventajas:
– No posee instrucciones de entrada y salida.
– No posee 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.
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.
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
variables globales
main(){
variables locales
secuencia de sentencias
}
f1(){
variables locales
secuencia de sentencias
}
....
fn(){
variables locales
secuencia de sentencias
}
Estructura de un programa
•La función con
nombre “main”
inicia la ejecución
•Variables que “ven”
sólo las sentencias
de esta función
•Variables que “ven”
las sentencias
de todas las funciones
•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
Primer Programa
• Ejemplo, el primer programa:
#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ónn”);
}
•Es un encabezado •Es un comentario
No es ejecutado
•Lo que está entre comillas
sale en pantalla
Programas
Fuente
Compilador
Programas
Objeto
Programas
Fuente
Compilador
Programas
Objeto
1
Programa ejecutable
• Pasos para obtener un programa ejecutable:
Enlace
Librerías:
Programa
Ejecutable
Programa
Fuente 1
Compilador
Programa
Objeto
Programa
Fuente n
Compilador
Programa
Objeto
Programas
Fuente
Compilador
Programas
Objeto
Programas usuario:

Más contenido relacionado

La actualidad más candente

Elaboración de tablas de frecuencia, estadística
Elaboración de tablas de frecuencia, estadísticaElaboración de tablas de frecuencia, estadística
Elaboración de tablas de frecuencia, estadísticaGerardo Lagos
 
Programación del lado del cliente
Programación del lado del clienteProgramación del lado del cliente
Programación del lado del clienteGabriel Mondragón
 
Derivadas. Método de incremento o Regla de los 4 pasos
Derivadas. Método de incremento o Regla de los 4 pasosDerivadas. Método de incremento o Regla de los 4 pasos
Derivadas. Método de incremento o Regla de los 4 pasosNombre Apellidos
 
Ejercicios resueltos de c++
Ejercicios resueltos de c++Ejercicios resueltos de c++
Ejercicios resueltos de c++Jhon TRUJILLO
 
Proposiciones y bloques de código
Proposiciones y bloques de códigoProposiciones y bloques de código
Proposiciones y bloques de códigoDenisse C
 
Introducción a las funciones en el lenguaje C
Introducción a las funciones en el lenguaje CIntroducción a las funciones en el lenguaje C
Introducción a las funciones en el lenguaje CDiego Santimateo
 
c++ introduccion
c++ introduccionc++ introduccion
c++ introduccionjennipaola
 
Lenguajes de programacion tema 2_compiladores e interpretes
Lenguajes de programacion tema 2_compiladores e interpretesLenguajes de programacion tema 2_compiladores e interpretes
Lenguajes de programacion tema 2_compiladores e interpretesIsrael Castillo Cruz
 
HISTORIA DEL LENGUAJE DE PROGRAMACIÓN C++
HISTORIA DEL LENGUAJE DE PROGRAMACIÓN C++HISTORIA DEL LENGUAJE DE PROGRAMACIÓN C++
HISTORIA DEL LENGUAJE DE PROGRAMACIÓN C++DarioManzano
 
Lógica y Algoritmos 4. estructuras secuenciales y selectivas
Lógica y Algoritmos 4. estructuras secuenciales y selectivasLógica y Algoritmos 4. estructuras secuenciales y selectivas
Lógica y Algoritmos 4. estructuras secuenciales y selectivasEdward Ropero
 
Programación Orientada a Objetos - atributos y métodos
Programación Orientada a Objetos - atributos y métodosProgramación Orientada a Objetos - atributos y métodos
Programación Orientada a Objetos - atributos y métodosAlvaro Enrique Ruano
 

La actualidad más candente (20)

Elaboración de tablas de frecuencia, estadística
Elaboración de tablas de frecuencia, estadísticaElaboración de tablas de frecuencia, estadística
Elaboración de tablas de frecuencia, estadística
 
Programación en C++
Programación en C++Programación en C++
Programación en C++
 
Sintaxis del lenguaje c++
Sintaxis del lenguaje c++Sintaxis del lenguaje c++
Sintaxis del lenguaje c++
 
Programación del lado del cliente
Programación del lado del clienteProgramación del lado del cliente
Programación del lado del cliente
 
Derivadas. Método de incremento o Regla de los 4 pasos
Derivadas. Método de incremento o Regla de los 4 pasosDerivadas. Método de incremento o Regla de los 4 pasos
Derivadas. Método de incremento o Regla de los 4 pasos
 
Uso y manejo de DFD - Una aproximación
Uso y manejo de DFD - Una aproximaciónUso y manejo de DFD - Una aproximación
Uso y manejo de DFD - Una aproximación
 
Lógica de programación
Lógica de programaciónLógica de programación
Lógica de programación
 
Ejercicios resueltos de c++
Ejercicios resueltos de c++Ejercicios resueltos de c++
Ejercicios resueltos de c++
 
Proposiciones y bloques de código
Proposiciones y bloques de códigoProposiciones y bloques de código
Proposiciones y bloques de código
 
Introducción a las funciones en el lenguaje C
Introducción a las funciones en el lenguaje CIntroducción a las funciones en el lenguaje C
Introducción a las funciones en el lenguaje C
 
c++ introduccion
c++ introduccionc++ introduccion
c++ introduccion
 
Lenguajes de programacion tema 2_compiladores e interpretes
Lenguajes de programacion tema 2_compiladores e interpretesLenguajes de programacion tema 2_compiladores e interpretes
Lenguajes de programacion tema 2_compiladores e interpretes
 
HISTORIA DEL LENGUAJE DE PROGRAMACIÓN C++
HISTORIA DEL LENGUAJE DE PROGRAMACIÓN C++HISTORIA DEL LENGUAJE DE PROGRAMACIÓN C++
HISTORIA DEL LENGUAJE DE PROGRAMACIÓN C++
 
Programa 3
Programa 3Programa 3
Programa 3
 
Manual de dfd
Manual de dfd Manual de dfd
Manual de dfd
 
Lenguaje de-programacion-c++
Lenguaje de-programacion-c++Lenguaje de-programacion-c++
Lenguaje de-programacion-c++
 
Poo manual de ejercicios
Poo manual de ejercicios Poo manual de ejercicios
Poo manual de ejercicios
 
Árboles de decisión y listas
Árboles de decisión y listasÁrboles de decisión y listas
Árboles de decisión y listas
 
Lógica y Algoritmos 4. estructuras secuenciales y selectivas
Lógica y Algoritmos 4. estructuras secuenciales y selectivasLógica y Algoritmos 4. estructuras secuenciales y selectivas
Lógica y Algoritmos 4. estructuras secuenciales y selectivas
 
Programación Orientada a Objetos - atributos y métodos
Programación Orientada a Objetos - atributos y métodosProgramación Orientada a Objetos - atributos y métodos
Programación Orientada a Objetos - atributos y métodos
 

Similar a Principios de programa en lenguaje C

Similar a Principios de programa en lenguaje C (20)

1 estructura programa-c
1 estructura programa-c1 estructura programa-c
1 estructura programa-c
 
Unidad-1.pptx.pdf
Unidad-1.pptx.pdfUnidad-1.pptx.pdf
Unidad-1.pptx.pdf
 
Unidad-1.pptx.pdf
Unidad-1.pptx.pdfUnidad-1.pptx.pdf
Unidad-1.pptx.pdf
 
Introduccion ensamblador
Introduccion ensambladorIntroduccion ensamblador
Introduccion ensamblador
 
Presentación lenguajedeprogramacion
Presentación lenguajedeprogramacionPresentación lenguajedeprogramacion
Presentación lenguajedeprogramacion
 
C++
C++C++
C++
 
Ansi c
Ansi cAnsi c
Ansi c
 
Lenguaje c
Lenguaje cLenguaje c
Lenguaje c
 
C ++ Estatutos ciclos
C ++ Estatutos ciclosC ++ Estatutos ciclos
C ++ Estatutos ciclos
 
Programacion en C
Programacion en CProgramacion en C
Programacion en C
 
Bison y flex
Bison y flexBison y flex
Bison y flex
 
Diseño de Algoritmos
 Diseño de Algoritmos Diseño de Algoritmos
Diseño de Algoritmos
 
01 - Introducción al lenguaje C
01 - Introducción al lenguaje C01 - Introducción al lenguaje C
01 - Introducción al lenguaje C
 
Programacion i
Programacion iProgramacion i
Programacion i
 
Programacion i
Programacion iProgramacion i
Programacion i
 
Programacion i
Programacion iProgramacion i
Programacion i
 
Programacion i
Programacion iProgramacion i
Programacion i
 
Compiladores de programacion
Compiladores de programacionCompiladores de programacion
Compiladores de programacion
 
El Lenguaje C y Sistemas Operativos Actuales
El Lenguaje C y Sistemas Operativos ActualesEl Lenguaje C y Sistemas Operativos Actuales
El Lenguaje C y Sistemas Operativos Actuales
 
Programa en lenguaje C, Hildemaro Sequera, MI-42
Programa en lenguaje C, Hildemaro Sequera, MI-42Programa en lenguaje C, Hildemaro Sequera, MI-42
Programa en lenguaje C, Hildemaro Sequera, MI-42
 

Más de UNLaR

Plataforma virtual curso de ingreso 2014
Plataforma virtual curso de ingreso 2014Plataforma virtual curso de ingreso 2014
Plataforma virtual curso de ingreso 2014UNLaR
 
Actividad cam studio marcela melidoro
Actividad cam studio marcela melidoroActividad cam studio marcela melidoro
Actividad cam studio marcela melidoroUNLaR
 
Actividad cam studio marcela melidoro
Actividad cam studio marcela melidoroActividad cam studio marcela melidoro
Actividad cam studio marcela melidoroUNLaR
 
Actividad ardora marcela melidoro
Actividad ardora marcela melidoroActividad ardora marcela melidoro
Actividad ardora marcela melidoroUNLaR
 
Campus virtual y lms
Campus virtual y lmsCampus virtual y lms
Campus virtual y lmsUNLaR
 
Diapositivas blog
Diapositivas blogDiapositivas blog
Diapositivas blogUNLaR
 

Más de UNLaR (6)

Plataforma virtual curso de ingreso 2014
Plataforma virtual curso de ingreso 2014Plataforma virtual curso de ingreso 2014
Plataforma virtual curso de ingreso 2014
 
Actividad cam studio marcela melidoro
Actividad cam studio marcela melidoroActividad cam studio marcela melidoro
Actividad cam studio marcela melidoro
 
Actividad cam studio marcela melidoro
Actividad cam studio marcela melidoroActividad cam studio marcela melidoro
Actividad cam studio marcela melidoro
 
Actividad ardora marcela melidoro
Actividad ardora marcela melidoroActividad ardora marcela melidoro
Actividad ardora marcela melidoro
 
Campus virtual y lms
Campus virtual y lmsCampus virtual y lms
Campus virtual y lms
 
Diapositivas blog
Diapositivas blogDiapositivas blog
Diapositivas blog
 

Último

SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxSEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxYadi Campos
 
Qué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativaQué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativaDecaunlz
 
Registro Auxiliar - Primaria 2024 (1).pptx
Registro Auxiliar - Primaria  2024 (1).pptxRegistro Auxiliar - Primaria  2024 (1).pptx
Registro Auxiliar - Primaria 2024 (1).pptxFelicitasAsuncionDia
 
Identificación de componentes Hardware del PC
Identificación de componentes Hardware del PCIdentificación de componentes Hardware del PC
Identificación de componentes Hardware del PCCesarFernandez937857
 
30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdf30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdfgimenanahuel
 
2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdfBaker Publishing Company
 
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfAngélica Soledad Vega Ramírez
 
Historia y técnica del collage en el arte
Historia y técnica del collage en el arteHistoria y técnica del collage en el arte
Historia y técnica del collage en el arteRaquel Martín Contreras
 
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxzulyvero07
 
Informatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosInformatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosCesarFernandez937857
 
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSTEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSjlorentemartos
 
Sesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docxSesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docxMaritzaRetamozoVera
 
proyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niñoproyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niñotapirjackluis
 
cortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuacortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuaDANNYISAACCARVAJALGA
 
MAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMarjorie Burga
 
Ecosistemas Natural, Rural y urbano 2021.pptx
Ecosistemas Natural, Rural y urbano  2021.pptxEcosistemas Natural, Rural y urbano  2021.pptx
Ecosistemas Natural, Rural y urbano 2021.pptxolgakaterin
 

Último (20)

SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxSEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
 
Qué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativaQué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativa
 
Registro Auxiliar - Primaria 2024 (1).pptx
Registro Auxiliar - Primaria  2024 (1).pptxRegistro Auxiliar - Primaria  2024 (1).pptx
Registro Auxiliar - Primaria 2024 (1).pptx
 
Identificación de componentes Hardware del PC
Identificación de componentes Hardware del PCIdentificación de componentes Hardware del PC
Identificación de componentes Hardware del PC
 
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdfTema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
 
Medición del Movimiento Online 2024.pptx
Medición del Movimiento Online 2024.pptxMedición del Movimiento Online 2024.pptx
Medición del Movimiento Online 2024.pptx
 
30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdf30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdf
 
2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf
 
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
 
Historia y técnica del collage en el arte
Historia y técnica del collage en el arteHistoria y técnica del collage en el arte
Historia y técnica del collage en el arte
 
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
 
Informatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosInformatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos Básicos
 
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
 
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSTEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
 
Sesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docxSesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docx
 
proyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niñoproyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niño
 
cortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuacortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahua
 
MAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grande
 
Ecosistemas Natural, Rural y urbano 2021.pptx
Ecosistemas Natural, Rural y urbano  2021.pptxEcosistemas Natural, Rural y urbano  2021.pptx
Ecosistemas Natural, Rural y urbano 2021.pptx
 
Power Point: "Defendamos la verdad".pptx
Power Point: "Defendamos la verdad".pptxPower Point: "Defendamos la verdad".pptx
Power Point: "Defendamos la verdad".pptx
 

Principios de programa en lenguaje C

  • 1. Estructura de un programa C
  • 2. 1 Lenguajes de Programación 1.- Lenguaje de alto nivel 2.- Lenguaje de medio nivel (ensamblador) 3.- Lenguaje de bajo nivel (máquina)
  • 3. 1 C y otros Lenguajes Alto Nivel Medio Nivel Ada Modula-2 Pascal Cobol Fortran BASIC C Lenguaje macro-ensamblador Lenguaje ensamblador.
  • 4. 1 Traductores • Traducen el lenguaje de alto nivel a lenguaje de máquina. Hay que distinguir entre: – Compiladores – Interpretes
  • 5. 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
  • 6. Lenguaje C • Características: – Programación Estructurada. – Economía de expresiones. – Gran cantidad de operadores y tipos de datos. – Reemplaza ventajosamente la programación en ensamblador. – Utilización natural de las funciones primitivas del sistema operativo (Unix) – De propósito general.
  • 7. 1 Lenguaje C • Desventajas: – No posee instrucciones de entrada y salida. – No posee 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.
  • 8. 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.
  • 9. 1 Compiladores C • Para el sistema operativo Linux: – Gcc/ g++ • Para el sistema operativo Windows: – Turbo C/C++ – Borland C/C++ – Visual C++ – Etc.
  • 10. 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
  • 11. 1 variables globales main(){ variables locales secuencia de sentencias } f1(){ variables locales secuencia de sentencias } .... fn(){ variables locales secuencia de sentencias } Estructura de un programa •La función con nombre “main” inicia la ejecución •Variables que “ven” sólo las sentencias de esta función •Variables que “ven” las sentencias de todas las funciones •Otras ‘n’ posibles funciones con sus variables locales. (los nombres pueden ser otros)
  • 12. 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.
  • 13. 1 Primer Programa • Ejemplo, el primer programa: #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ónn”); } •Es un encabezado •Es un comentario No es ejecutado •Lo que está entre comillas sale en pantalla
  • 14. Programas Fuente Compilador Programas Objeto Programas Fuente Compilador Programas Objeto 1 Programa ejecutable • Pasos para obtener un programa ejecutable: Enlace Librerías: Programa Ejecutable Programa Fuente 1 Compilador Programa Objeto Programa Fuente n Compilador Programa Objeto Programas Fuente Compilador Programas Objeto Programas usuario: