SlideShare una empresa de Scribd logo
1 de 10
REPÚBLICA BOLIVARIANA DE VENEZUELA
UNIVERSIDAD FERMÍN TORO
FACULTAD DE INGENIERÍA
APLICACIONES DEL LENGUAJE C
HÉCTOR ÁLVAREZ
C.I.: 21.244.622
LENGUAJE C
Es un lenguaje de programación originalmente desarrollado por Dennis
M. Ritchie entre 1969 y 1972 en los Laboratorios Bell, como evolución
del anterior lenguaje B, a su vez basado en BCPL.
Al igual que B, es un lenguaje orientado a la implementación
de Sistemas Operativos, concretamente Unix. C es apreciado por la
eficiencia del código que produce y es el lenguaje de programación más
popular para crear software de sistemas, aunque también se utiliza para
crear aplicaciones.
Hecho principalmente para la fluidez de programación en sistemas UNIX. Se usa también para el
desarrollo de otros sistemas operativos como Windows o GNU/Linux. Igualmente para
aplicaciones de escritorio como GIMP, cuyo principal lenguaje de programación es C.
De la misma forma, es muy usado en aplicaciones científicas (para experimentos informáticos,
físicos, químicos, matemáticos, entre otros, parte de ellos conocidos
como modelos y simuladores), industriales (industria robótica, cibernética, sistemas de
información y base de datos para la industria petrolera y petroquímica. Predominan también
todo lo que se refiere a simulación de máquinas de manufactura), simulaciones de vuelo (es la
más delicada, ya que se tienen que usar demasiados recursos tanto de hardware como
de software para desarrollar aplicaciones que permitan simular el vuelo real de una aeronave.
C es el lenguaje común para programar sistemas embebidos.El código ligero que un compilador
C genera, combinado con la capacidad de acceso a capas del software cercanas al hardware son
la causa de su popularidad en estas aplicaciones.
APLICACIONES DEL LENGUAJE C
CARACTERÍSTICAS
• Un núcleo del lenguaje simple, con funcionalidades añadidas importantes, como funciones
matemáticas y de manejo de archivos, proporcionadas por bibliotecas.
• Es un lenguaje muy flexible que permite programar con múltiples estilos. Uno de los más
empleados es el estructurado "no llevado al extremo" (permitiendo ciertas licencias de
ruptura).
• Un sistema de tipos que impide operaciones sin sentido.
• Usa un lenguaje de preprocesado, el preprocesador de C, para tareas como definir macros e
incluir múltiples archivos de código fuente.
• Acceso a memoria de bajo nivel mediante el uso de punteros.
• Interrupciones al procesador con uniones.
• Un conjunto reducido de palabras clave.
• Por defecto, el paso de parámetros a una función se realiza por valor. El paso por referencia
se consigue pasando explícitamente a las funciones las direcciones de memoria de dichos
parámetros.
• Punteros a funciones y variables estáticas, que permiten una forma rudimentaria
de encapsulado y polimorfismo.
FUNCIONES
En C, se conocen como funciones aquellos trozos de códigos utilizados para dividir
un programa con el objetivo que, cada bloque realice una tarea determinada.
En las funciones juegan un papel muy importe las variables, ya que como se ha dicho
estas pueden ser locales o globales.
Variables Globales: Estas se crean durante toda la ejecución del programa, y son
globales, ya que pueden ser llamadas, leídas, modificadas, etc; desde cualquier función.
Se definen antes del main().
Variables Locales: Estas, pueden ser utilizadas únicamente en la función que hayan sido
declaradas.
La sintaxis de una función es la siguiente:
Tipo_de_datos nombre_de_la_función (tipo y nombre de argumentos)
{
acciones
}
VENTAJAS
• Lenguaje muy eficiente puesto que es posible utilizar sus características de bajo nivel para realizar
implementaciones óptimas.
• A pesar de su bajo nivel es el lenguaje más portado en existencia, habiendo compiladores para casi
todos los sistemas conocidos.
• Proporciona facilidades para realizar programas modulares y/o utilizar código o bibliotecas existentes
DESVENTAJAS
• Recolección de basura nativa, sin embargo se encuentran a tal efecto bibliotecas como la "libgc"
desarrollada por Sun Microsystems, o el Recolector de basura de Boehm.
• Soporte para programación orientada a objetos, aunque la implementación original de C++ fue un
preprocesador que traducía código fuente de C++ a C.
• Funciones anidadas, aunque GCC tiene esta característica como extensión.
• Soporte nativo para programación multihilo.
UTILIDAD
Se usa en simulación de máquinas de manufactura, simulaciones de vuelo. Se aplica por tanto, en
diversas áreas desconocidas por gran parte de los usuarios noveles. Este lenguaje es muy eficiente puesto
que es posible utilizar sus características de bajo nivel para realizar implementaciones óptimas.
Los ordenadores de finales de los 90 son varios órdenes de magnitud más potentes que las máquinas en
que C se desarrolló originalmente. Programas escritos en lenguajes de tipo dinámico y fácil codificación
(Ruby, Python, Perl...) que antaño hubieran resultado demasiado lentos, son lo bastante rápidos como
para desplazar en uso a C. Aun así, se puede seguir encontrando código C en grandes desarrollos de
animaciones, modelados y escenas en 3D en películas y otras aplicaciones multimedia. A pesar de su bajo
nivel es el lenguaje más portado en existencia, habiendo compiladores para casi todos los sistemas
conocidos. Proporciona facilidades para realizar programas modulares y utilizar código o bibliotecas
existentes. Proporciona facilidades para realizar programas modulares y utilizar código o bibliotecas
existentes. Actualmente, los grandes proyectos de software se dividen en partes, dentro de un equipo de
desarrollo. Aquellas partes que son más "burocráticas" o "de gestión" con los recursos del sistema, se
suelen realizar en lenguajes de tipo dinámico o de guion (script), mientras que aquellas partes "críticas",
por su necesidad de rapidez de ejecución, se realizan en un lenguaje de tipo compilado, en este caso el C
o C++. Si después de hacer la división, las partes críticas no superan un cierto porcentaje del total
(aproximadamente el 10%) entonces todo el desarrollo se realiza con lenguajes dinámicos.
EJEMPLO
/* Programa: Nota media de tres exámenes */
#include <conio.h>
#include <stdio.h>
int main()
{
float nota1, nota2, nota3, media;
printf( "n Introduzca nota del primer examen: " );
scanf( "%f", &nota1 );
printf( "n Introduzca nota del segundo examen: " );
scanf( "%f", &nota2 );
printf( "n Introduzca nota del tercer examen: " );
scanf( "%f", &nota3 );
media = ( nota1 + nota2 + nota3 ) / 3;
printf( "n La nota media es: %.2f", media );
getch(); /* Pausa */
return 0;
WEBGRAFIA
http://webdelprofesor.ula.ve/ciencias/edbelan/Programacion_Basica/Lenguaje_C/index.html
https://es.wikipedia.org/wiki/C_(lenguaje_de_programaci%C3%B3n)#Aplicabilidad
http://www.monografias.com/trabajos4/lenguajec/lenguajec.shtml
REFLEXIÓN
A pesar de que C fue creado cerca de 1970, su estudio perdura alrededor de todo el mundo; lo que no
debe sorprender, ya que este lenguaje presenta bastantes características en relación con sus defectos.
Entre sus principales beneficios se encuentran: programación estructurada, economía de las
expresiones, abundancia en operadores y tipos de datos, codificación en alto y bajo nivel
simultáneamente, reemplaza ventajosamente la programación en ensamblador o con lenguajes de
bajo nivel en general, utilización natural de las funciones primitivas del sistema, no está orientado a
ninguna área en especial, producción de código objeto altamente optimizado, facilidad de aprendizaje,
etc.
Aparte de esto, C es el lenguaje de elección en la implementación de sistemas en la industria y
comercio además de muchos otros entornos. Se piensa que será el lenguaje dominante en el comienzo
del nuevo siglo así como también se piensa que lo fue a finales del siglo pasado.

Más contenido relacionado

La actualidad más candente

Poner a punto mediante el uso de un editor de lenguaje de programacion
Poner a punto mediante el uso de un editor de lenguaje de programacionPoner a punto mediante el uso de un editor de lenguaje de programacion
Poner a punto mediante el uso de un editor de lenguaje de programacionlupitagarcia07
 
Lenguaje c ibeth lozada
Lenguaje c ibeth lozadaLenguaje c ibeth lozada
Lenguaje c ibeth lozadaAdrianaYepezM
 
PRESENTACION LENGUAJE C Y SISTEMAS OPERATIVOS
PRESENTACION LENGUAJE C Y SISTEMAS OPERATIVOSPRESENTACION LENGUAJE C Y SISTEMAS OPERATIVOS
PRESENTACION LENGUAJE C Y SISTEMAS OPERATIVOSRoxa1190
 
Traducción de un programa: compilación, enlace de un programa, errores en tie...
Traducción de un programa: compilación, enlace de un programa, errores en tie...Traducción de un programa: compilación, enlace de un programa, errores en tie...
Traducción de un programa: compilación, enlace de un programa, errores en tie...Jorge Rodriguez
 
Edgar avila aplicaciones de lenguaje c
Edgar avila aplicaciones de lenguaje cEdgar avila aplicaciones de lenguaje c
Edgar avila aplicaciones de lenguaje cragdeavil
 
Lenguaje c
Lenguaje cLenguaje c
Lenguaje cwuaro1
 
Lenguaje de programacion c
Lenguaje de programacion cLenguaje de programacion c
Lenguaje de programacion c1002pc1
 
Mi lenguaje de programación de preferencia es C++
Mi lenguaje de programación de preferencia es C++Mi lenguaje de programación de preferencia es C++
Mi lenguaje de programación de preferencia es C++N_Alejandrino
 
Arquitecturas de ordenadores y compiladores cruzados
Arquitecturas de ordenadores y compiladores cruzadosArquitecturas de ordenadores y compiladores cruzados
Arquitecturas de ordenadores y compiladores cruzadosDIEGO BAROJA
 
Lenguaje c
Lenguaje cLenguaje c
Lenguaje cwuaro1
 

La actualidad más candente (20)

Informe.
Informe.Informe.
Informe.
 
Poner a punto mediante el uso de un editor de lenguaje de programacion
Poner a punto mediante el uso de un editor de lenguaje de programacionPoner a punto mediante el uso de un editor de lenguaje de programacion
Poner a punto mediante el uso de un editor de lenguaje de programacion
 
Lenguaje c ibeth lozada
Lenguaje c ibeth lozadaLenguaje c ibeth lozada
Lenguaje c ibeth lozada
 
PRESENTACION LENGUAJE C Y SISTEMAS OPERATIVOS
PRESENTACION LENGUAJE C Y SISTEMAS OPERATIVOSPRESENTACION LENGUAJE C Y SISTEMAS OPERATIVOS
PRESENTACION LENGUAJE C Y SISTEMAS OPERATIVOS
 
Traducción de un programa: compilación, enlace de un programa, errores en tie...
Traducción de un programa: compilación, enlace de un programa, errores en tie...Traducción de un programa: compilación, enlace de un programa, errores en tie...
Traducción de un programa: compilación, enlace de un programa, errores en tie...
 
Edgar avila aplicaciones de lenguaje c
Edgar avila aplicaciones de lenguaje cEdgar avila aplicaciones de lenguaje c
Edgar avila aplicaciones de lenguaje c
 
Lenguaje c
Lenguaje cLenguaje c
Lenguaje c
 
Lenguaje de programacion c
Lenguaje de programacion cLenguaje de programacion c
Lenguaje de programacion c
 
Compiladores
CompiladoresCompiladores
Compiladores
 
01 - Introducción al lenguaje C
01 - Introducción al lenguaje C01 - Introducción al lenguaje C
01 - Introducción al lenguaje C
 
Mi lenguaje de programación de preferencia es C++
Mi lenguaje de programación de preferencia es C++Mi lenguaje de programación de preferencia es C++
Mi lenguaje de programación de preferencia es C++
 
Arquitecturas de ordenadores y compiladores cruzados
Arquitecturas de ordenadores y compiladores cruzadosArquitecturas de ordenadores y compiladores cruzados
Arquitecturas de ordenadores y compiladores cruzados
 
Aprendiendo Lenguaje C
Aprendiendo Lenguaje CAprendiendo Lenguaje C
Aprendiendo Lenguaje C
 
Lenguaje c
Lenguaje cLenguaje c
Lenguaje c
 
Introduccion a Visual C Sharp
Introduccion a Visual C SharpIntroduccion a Visual C Sharp
Introduccion a Visual C Sharp
 
Ple Ut8
Ple Ut8Ple Ut8
Ple Ut8
 
Compiladores
CompiladoresCompiladores
Compiladores
 
1. introducción a c#
1.  introducción a c#1.  introducción a c#
1. introducción a c#
 
Informe lpi
Informe lpiInforme lpi
Informe lpi
 
Lenguaje c1
Lenguaje c1Lenguaje c1
Lenguaje c1
 

Destacado

Organizational Evaluation And Improvement Framework
Organizational Evaluation And Improvement FrameworkOrganizational Evaluation And Improvement Framework
Organizational Evaluation And Improvement Frameworkirichey
 
Church management
Church managementChurch management
Church managementCharles Lam
 
Resume J.Rankov (2)
Resume J.Rankov (2)Resume J.Rankov (2)
Resume J.Rankov (2)Jorge Rankov
 
What Batman can teach you about social media
What Batman can teach you about social mediaWhat Batman can teach you about social media
What Batman can teach you about social mediaGreg Matusky
 
Hector alvarez
Hector alvarezHector alvarez
Hector alvarezhek_sk8
 
Certificate IV in Sport (Athlete support services) SRS40406 TAFE Transcript P2
Certificate IV in Sport (Athlete support services) SRS40406 TAFE Transcript P2Certificate IV in Sport (Athlete support services) SRS40406 TAFE Transcript P2
Certificate IV in Sport (Athlete support services) SRS40406 TAFE Transcript P2Ben Wildey
 
Desarrrollo de emprendedores
Desarrrollo de emprendedoresDesarrrollo de emprendedores
Desarrrollo de emprendedoreshek_sk8
 
2016 Essex Fall Tune Up Tournament - Sponsorship Journal
2016 Essex Fall Tune Up Tournament - Sponsorship Journal2016 Essex Fall Tune Up Tournament - Sponsorship Journal
2016 Essex Fall Tune Up Tournament - Sponsorship JournalEFT_Tournament
 
Aplicaciones de lenguaje c
Aplicaciones de lenguaje cAplicaciones de lenguaje c
Aplicaciones de lenguaje cmoncadalmz
 
Экосистема логистики для интернет-торговли 2016
Экосистема логистики для интернет-торговли 2016Экосистема логистики для интернет-торговли 2016
Экосистема логистики для интернет-торговли 2016Data Insight
 

Destacado (14)

Organizational Evaluation And Improvement Framework
Organizational Evaluation And Improvement FrameworkOrganizational Evaluation And Improvement Framework
Organizational Evaluation And Improvement Framework
 
Church management
Church managementChurch management
Church management
 
Resume J.Rankov (2)
Resume J.Rankov (2)Resume J.Rankov (2)
Resume J.Rankov (2)
 
What Batman can teach you about social media
What Batman can teach you about social mediaWhat Batman can teach you about social media
What Batman can teach you about social media
 
Revista
RevistaRevista
Revista
 
Hector alvarez
Hector alvarezHector alvarez
Hector alvarez
 
Ejercicio2
Ejercicio2 Ejercicio2
Ejercicio2
 
Certificate IV in Sport (Athlete support services) SRS40406 TAFE Transcript P2
Certificate IV in Sport (Athlete support services) SRS40406 TAFE Transcript P2Certificate IV in Sport (Athlete support services) SRS40406 TAFE Transcript P2
Certificate IV in Sport (Athlete support services) SRS40406 TAFE Transcript P2
 
Desarrrollo de emprendedores
Desarrrollo de emprendedoresDesarrrollo de emprendedores
Desarrrollo de emprendedores
 
Bennato
BennatoBennato
Bennato
 
2016 Essex Fall Tune Up Tournament - Sponsorship Journal
2016 Essex Fall Tune Up Tournament - Sponsorship Journal2016 Essex Fall Tune Up Tournament - Sponsorship Journal
2016 Essex Fall Tune Up Tournament - Sponsorship Journal
 
Aplicaciones de lenguaje c
Aplicaciones de lenguaje cAplicaciones de lenguaje c
Aplicaciones de lenguaje c
 
HR and Social Media
HR and Social MediaHR and Social Media
HR and Social Media
 
Экосистема логистики для интернет-торговли 2016
Экосистема логистики для интернет-торговли 2016Экосистема логистики для интернет-торговли 2016
Экосистема логистики для интернет-торговли 2016
 

Similar a Aplicacion de c

Lenguaje c.Luis Carrodeguas.16418180
Lenguaje c.Luis Carrodeguas.16418180Lenguaje c.Luis Carrodeguas.16418180
Lenguaje c.Luis Carrodeguas.16418180Luiscarrodeguas
 
Lenguje c.PRESENTACION
Lenguje c.PRESENTACIONLenguje c.PRESENTACION
Lenguje c.PRESENTACIONEderson Galvan
 
LENGUAJES DE PROGRAMACION
LENGUAJES DE PROGRAMACIONLENGUAJES DE PROGRAMACION
LENGUAJES DE PROGRAMACIONBryan Perdomo
 
Trabajo de introduc computa
Trabajo de introduc computaTrabajo de introduc computa
Trabajo de introduc computaSampdp
 
Trabajo de introduc computa
Trabajo de introduc computaTrabajo de introduc computa
Trabajo de introduc computaSampdp
 
Trabajo de introduc computa
Trabajo de introduc computaTrabajo de introduc computa
Trabajo de introduc computaSampdp
 
Trabajo de introduc computa
Trabajo de introduc computaTrabajo de introduc computa
Trabajo de introduc computaSampdp
 
Características de los 10 lenguajes de programación
 Características de los 10 lenguajes de programación Características de los 10 lenguajes de programación
Características de los 10 lenguajes de programaciónGabriel Solano
 
LENGUAJE DE PROGRAMACION C DAYLIN
LENGUAJE DE PROGRAMACION C DAYLINLENGUAJE DE PROGRAMACION C DAYLIN
LENGUAJE DE PROGRAMACION C DAYLINDaylinRuiz2837
 
Presentación lenguajedeprogramacion
Presentación lenguajedeprogramacionPresentación lenguajedeprogramacion
Presentación lenguajedeprogramacionmichelledelgado97
 
Lenguaje c josequerales
Lenguaje c josequeralesLenguaje c josequerales
Lenguaje c josequeralesleonardo213200
 
LENGUAJE en C
LENGUAJE en CLENGUAJE en C
LENGUAJE en CDaniel bg
 
lenguaje de programación
lenguaje de programación lenguaje de programación
lenguaje de programación j3palacios
 

Similar a Aplicacion de c (20)

Lenguaje c.Luis Carrodeguas.16418180
Lenguaje c.Luis Carrodeguas.16418180Lenguaje c.Luis Carrodeguas.16418180
Lenguaje c.Luis Carrodeguas.16418180
 
ENSAYO SOBRE EL LENGUAJE C
ENSAYO SOBRE EL LENGUAJE C ENSAYO SOBRE EL LENGUAJE C
ENSAYO SOBRE EL LENGUAJE C
 
Lenguje c.PRESENTACION
Lenguje c.PRESENTACIONLenguje c.PRESENTACION
Lenguje c.PRESENTACION
 
Programacion
ProgramacionProgramacion
Programacion
 
Lenguaje c
Lenguaje cLenguaje c
Lenguaje c
 
LENGUAJES DE PROGRAMACION
LENGUAJES DE PROGRAMACIONLENGUAJES DE PROGRAMACION
LENGUAJES DE PROGRAMACION
 
Cabrera ies 2011
Cabrera ies 2011Cabrera ies 2011
Cabrera ies 2011
 
Trabajo de introduc computa
Trabajo de introduc computaTrabajo de introduc computa
Trabajo de introduc computa
 
Trabajo de introduc computa
Trabajo de introduc computaTrabajo de introduc computa
Trabajo de introduc computa
 
Trabajo de introduc computa
Trabajo de introduc computaTrabajo de introduc computa
Trabajo de introduc computa
 
Trabajo de introduc computa
Trabajo de introduc computaTrabajo de introduc computa
Trabajo de introduc computa
 
Pul123
Pul123Pul123
Pul123
 
Características de los 10 lenguajes de programación
 Características de los 10 lenguajes de programación Características de los 10 lenguajes de programación
Características de los 10 lenguajes de programación
 
LENGUAJE DE PROGRAMACION C DAYLIN
LENGUAJE DE PROGRAMACION C DAYLINLENGUAJE DE PROGRAMACION C DAYLIN
LENGUAJE DE PROGRAMACION C DAYLIN
 
Presentación lenguajedeprogramacion
Presentación lenguajedeprogramacionPresentación lenguajedeprogramacion
Presentación lenguajedeprogramacion
 
Programacion
ProgramacionProgramacion
Programacion
 
Programacion
ProgramacionProgramacion
Programacion
 
Lenguaje c josequerales
Lenguaje c josequeralesLenguaje c josequerales
Lenguaje c josequerales
 
LENGUAJE en C
LENGUAJE en CLENGUAJE en C
LENGUAJE en C
 
lenguaje de programación
lenguaje de programación lenguaje de programación
lenguaje de programación
 

Más de hek_sk8

Hector alvarez examen
Hector alvarez examenHector alvarez examen
Hector alvarez examenhek_sk8
 
Hector alvarez
Hector alvarezHector alvarez
Hector alvarezhek_sk8
 
Desarrollo de tecnologías para incrementar la productividad agrícola
Desarrollo de tecnologías para incrementar la productividad agrícolaDesarrollo de tecnologías para incrementar la productividad agrícola
Desarrollo de tecnologías para incrementar la productividad agrícolahek_sk8
 
Modelo osi
Modelo osiModelo osi
Modelo osihek_sk8
 
Señal y sus tipos
Señal y sus tiposSeñal y sus tipos
Señal y sus tiposhek_sk8
 
Telecomunicaciones
TelecomunicacionesTelecomunicaciones
Telecomunicacioneshek_sk8
 
Alumnos con carnet
Alumnos con carnetAlumnos con carnet
Alumnos con carnethek_sk8
 
Formato manual de sistema
Formato manual de sistemaFormato manual de sistema
Formato manual de sistemahek_sk8
 

Más de hek_sk8 (14)

Hector alvarez examen
Hector alvarez examenHector alvarez examen
Hector alvarez examen
 
Revista
RevistaRevista
Revista
 
Hector alvarez
Hector alvarezHector alvarez
Hector alvarez
 
Desarrollo de tecnologías para incrementar la productividad agrícola
Desarrollo de tecnologías para incrementar la productividad agrícolaDesarrollo de tecnologías para incrementar la productividad agrícola
Desarrollo de tecnologías para incrementar la productividad agrícola
 
Modelo osi
Modelo osiModelo osi
Modelo osi
 
Redes
RedesRedes
Redes
 
Señal y sus tipos
Señal y sus tiposSeñal y sus tipos
Señal y sus tipos
 
Telecomunicaciones
TelecomunicacionesTelecomunicaciones
Telecomunicaciones
 
Alumnos con carnet
Alumnos con carnetAlumnos con carnet
Alumnos con carnet
 
Formato
FormatoFormato
Formato
 
Formato
FormatoFormato
Formato
 
Formato manual de sistema
Formato manual de sistemaFormato manual de sistema
Formato manual de sistema
 
Grafos
GrafosGrafos
Grafos
 
Grafos
GrafosGrafos
Grafos
 

Aplicacion de c

  • 1. REPÚBLICA BOLIVARIANA DE VENEZUELA UNIVERSIDAD FERMÍN TORO FACULTAD DE INGENIERÍA APLICACIONES DEL LENGUAJE C HÉCTOR ÁLVAREZ C.I.: 21.244.622
  • 2. LENGUAJE C Es un lenguaje de programación originalmente desarrollado por Dennis M. Ritchie entre 1969 y 1972 en los Laboratorios Bell, como evolución del anterior lenguaje B, a su vez basado en BCPL. Al igual que B, es un lenguaje orientado a la implementación de Sistemas Operativos, concretamente Unix. C es apreciado por la eficiencia del código que produce y es el lenguaje de programación más popular para crear software de sistemas, aunque también se utiliza para crear aplicaciones.
  • 3. Hecho principalmente para la fluidez de programación en sistemas UNIX. Se usa también para el desarrollo de otros sistemas operativos como Windows o GNU/Linux. Igualmente para aplicaciones de escritorio como GIMP, cuyo principal lenguaje de programación es C. De la misma forma, es muy usado en aplicaciones científicas (para experimentos informáticos, físicos, químicos, matemáticos, entre otros, parte de ellos conocidos como modelos y simuladores), industriales (industria robótica, cibernética, sistemas de información y base de datos para la industria petrolera y petroquímica. Predominan también todo lo que se refiere a simulación de máquinas de manufactura), simulaciones de vuelo (es la más delicada, ya que se tienen que usar demasiados recursos tanto de hardware como de software para desarrollar aplicaciones que permitan simular el vuelo real de una aeronave. C es el lenguaje común para programar sistemas embebidos.El código ligero que un compilador C genera, combinado con la capacidad de acceso a capas del software cercanas al hardware son la causa de su popularidad en estas aplicaciones. APLICACIONES DEL LENGUAJE C
  • 4. CARACTERÍSTICAS • Un núcleo del lenguaje simple, con funcionalidades añadidas importantes, como funciones matemáticas y de manejo de archivos, proporcionadas por bibliotecas. • Es un lenguaje muy flexible que permite programar con múltiples estilos. Uno de los más empleados es el estructurado "no llevado al extremo" (permitiendo ciertas licencias de ruptura). • Un sistema de tipos que impide operaciones sin sentido. • Usa un lenguaje de preprocesado, el preprocesador de C, para tareas como definir macros e incluir múltiples archivos de código fuente. • Acceso a memoria de bajo nivel mediante el uso de punteros. • Interrupciones al procesador con uniones. • Un conjunto reducido de palabras clave. • Por defecto, el paso de parámetros a una función se realiza por valor. El paso por referencia se consigue pasando explícitamente a las funciones las direcciones de memoria de dichos parámetros. • Punteros a funciones y variables estáticas, que permiten una forma rudimentaria de encapsulado y polimorfismo.
  • 5. FUNCIONES En C, se conocen como funciones aquellos trozos de códigos utilizados para dividir un programa con el objetivo que, cada bloque realice una tarea determinada. En las funciones juegan un papel muy importe las variables, ya que como se ha dicho estas pueden ser locales o globales. Variables Globales: Estas se crean durante toda la ejecución del programa, y son globales, ya que pueden ser llamadas, leídas, modificadas, etc; desde cualquier función. Se definen antes del main(). Variables Locales: Estas, pueden ser utilizadas únicamente en la función que hayan sido declaradas. La sintaxis de una función es la siguiente: Tipo_de_datos nombre_de_la_función (tipo y nombre de argumentos) { acciones }
  • 6. VENTAJAS • Lenguaje muy eficiente puesto que es posible utilizar sus características de bajo nivel para realizar implementaciones óptimas. • A pesar de su bajo nivel es el lenguaje más portado en existencia, habiendo compiladores para casi todos los sistemas conocidos. • Proporciona facilidades para realizar programas modulares y/o utilizar código o bibliotecas existentes DESVENTAJAS • Recolección de basura nativa, sin embargo se encuentran a tal efecto bibliotecas como la "libgc" desarrollada por Sun Microsystems, o el Recolector de basura de Boehm. • Soporte para programación orientada a objetos, aunque la implementación original de C++ fue un preprocesador que traducía código fuente de C++ a C. • Funciones anidadas, aunque GCC tiene esta característica como extensión. • Soporte nativo para programación multihilo.
  • 7. UTILIDAD Se usa en simulación de máquinas de manufactura, simulaciones de vuelo. Se aplica por tanto, en diversas áreas desconocidas por gran parte de los usuarios noveles. Este lenguaje es muy eficiente puesto que es posible utilizar sus características de bajo nivel para realizar implementaciones óptimas. Los ordenadores de finales de los 90 son varios órdenes de magnitud más potentes que las máquinas en que C se desarrolló originalmente. Programas escritos en lenguajes de tipo dinámico y fácil codificación (Ruby, Python, Perl...) que antaño hubieran resultado demasiado lentos, son lo bastante rápidos como para desplazar en uso a C. Aun así, se puede seguir encontrando código C en grandes desarrollos de animaciones, modelados y escenas en 3D en películas y otras aplicaciones multimedia. A pesar de su bajo nivel es el lenguaje más portado en existencia, habiendo compiladores para casi todos los sistemas conocidos. Proporciona facilidades para realizar programas modulares y utilizar código o bibliotecas existentes. Proporciona facilidades para realizar programas modulares y utilizar código o bibliotecas existentes. Actualmente, los grandes proyectos de software se dividen en partes, dentro de un equipo de desarrollo. Aquellas partes que son más "burocráticas" o "de gestión" con los recursos del sistema, se suelen realizar en lenguajes de tipo dinámico o de guion (script), mientras que aquellas partes "críticas", por su necesidad de rapidez de ejecución, se realizan en un lenguaje de tipo compilado, en este caso el C o C++. Si después de hacer la división, las partes críticas no superan un cierto porcentaje del total (aproximadamente el 10%) entonces todo el desarrollo se realiza con lenguajes dinámicos.
  • 8. EJEMPLO /* Programa: Nota media de tres exámenes */ #include <conio.h> #include <stdio.h> int main() { float nota1, nota2, nota3, media; printf( "n Introduzca nota del primer examen: " ); scanf( "%f", &nota1 ); printf( "n Introduzca nota del segundo examen: " ); scanf( "%f", &nota2 ); printf( "n Introduzca nota del tercer examen: " ); scanf( "%f", &nota3 ); media = ( nota1 + nota2 + nota3 ) / 3; printf( "n La nota media es: %.2f", media ); getch(); /* Pausa */ return 0;
  • 10. REFLEXIÓN A pesar de que C fue creado cerca de 1970, su estudio perdura alrededor de todo el mundo; lo que no debe sorprender, ya que este lenguaje presenta bastantes características en relación con sus defectos. Entre sus principales beneficios se encuentran: programación estructurada, economía de las expresiones, abundancia en operadores y tipos de datos, codificación en alto y bajo nivel simultáneamente, reemplaza ventajosamente la programación en ensamblador o con lenguajes de bajo nivel en general, utilización natural de las funciones primitivas del sistema, no está orientado a ninguna área en especial, producción de código objeto altamente optimizado, facilidad de aprendizaje, etc. Aparte de esto, C es el lenguaje de elección en la implementación de sistemas en la industria y comercio además de muchos otros entornos. Se piensa que será el lenguaje dominante en el comienzo del nuevo siglo así como también se piensa que lo fue a finales del siglo pasado.