SlideShare une entreprise Scribd logo
1  sur  11
UNIVERSIDAD FERMIN TORO
VICE-RECTORADO ACADEMICO
DECANATO DE INGENIERIA
ASIGNATURA: COMPUTACION PARA INGENIEROS
HECHO POR:
Luis Carrodeguas C.I: 16.418.180
Cabudare 19 de Noviembre del 2015.
Aplicaciones de Lenguaje C Y sus Ventajas y
Desventajas.
Lenguaje C y Sus Creadores
El Lenguaje C fue creado en el año 1972 por Dennis Ritchie
bajo el sistema operativo UNIX. Fue el resultado final de un proyecto que
comenzó con un lenguaje llamado BCPL (Basic Combined Programming
Language) diseñado por Martin Richards en el año 1967, que a su vez
estaba influenciado por el lenguaje CPL (Combined Programming
Language) desarrollado por las universidades de Cambridge y Londres. A
partir del BCPL, Ken Thompson creó un lenguaje llamado B, que fue el
que condujo al desarrollo del Lenguaje C.
Durante muchos años el estándar para C fue el que se
suministraba con la versión 5 de UNIX. Pero con la creciente popularidad
de los microordenadores aparecieron muchas implementaciones diferentes
(Quick C de Microsoft, Turbo C de Borland, etc.) que, aunque eran
altamente compatibles entre sí, tenían algunas diferencias.
Por ello, en 1983 se creó un comité que elaboró el
documento que define el estándar ANSI de C. El Lenguaje C es un
lenguaje de nivel medio, es decir, sin ser un lenguaje de alto nivel como
COBOL, BASIC o Pascal, tampoco es un Lenguaje Ensamblador.
Dennis Ritchie.
Septiembre de 1942 hasta
Octubre del 2011
Martin Richards.
Programador Informático y
Teórico de la Informática
Británico.
Ventajas del Leguaje C
 El lenguaje C ha sido pensado para ser altamente transportable.
 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.
Desventaja del Leguaje C
Al igual que otros lenguajes tiene sus inconvenientes como:
 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.
 Encapsulación.
 Funciones anidadas, aunque GCC tiene esta característica como
extensión.
 Polimorfismo en tiempo de código en forma de sobrecarga, sobrecarga de
operadores y sólo dispone de un soporte rudimentario para la
programación genérica.
 Soporte nativo para programación multihilo y redes de computadores.
 Carece de instrucciones de entrada/salida, de instrucciones para manejo
de cadenas de caracteres, con lo que este trabajo queda para la librería de
rutinas, con la consiguiente pérdida de transportabilidad.
Leguaje C
Características del Leguaje C
Su principal característica es que es portable, quiere decir que puedes adaptar los programas
escritos para un tipo de computadora en otra. También es estructurado, por que se divide en módulos que son
independientes entre si.
El lenguaje C inicialmente fue creado para la programación de:
• Sistemas Operativos.
• Interpretes.
• Editores.
• Ensambladores.
• Compiladores.
• Administradores de bases de datos.
• Actualmente puede ser utilizado para todo tipo de programas.
En su desarrollo se siguieron una serie de líneas generales tales como:
- El compilador debe ser lo más pequeño y eficiente posible.
- Pocas palabras reservadas, como, un conjunto reducido de sentencias.
- No existe anidamiento de procedimientos.
- La entrada/salida no se considera parte del lenguaje en sí, sino que se apoya a través de funciones de
librería.
- La misma política se sigue con cualquier otro tipo complejo de instrucciones.
Para escribir un programa se debe poder escribir poco texto. Para lograr esto
se reduce el número de palabras claves. Con ello se llegó a un compilador con un juego
de instrucciones, que permite aumentar la productividad por día de los programadores. A
pesar de ello C es un lenguaje rápido de aprender, que deriva en compiladores sencillos
de diseñar, robustos, y que generan objetos pequeños y eficientes.
Estas y otras características lo hacen adecuado para la programación en
áreas tales como:
• programación de sistemas
• estructuras de datos y sistemas de bases de datos
• aplicaciones científicas
• software gráfico
• análisis numérico
Características del Leguaje C
Una de las peculiaridades de C es su riqueza de operadores. Puede decirse que
prácticamente dispone de un operador para cada una de las posibles operaciones en código
máquina. Por último solo queda decir que el C es un lenguaje relativamente pequeño; se
puede describir en poco espacio y aprender rápidamente.
Características del Leguaje C
Utilidad del Leguaje C
Con este lenguaje de programación se puede programar prácticamente cualquier
cosas desde juegos hasta programas de Cálculos avanzados entre otros.
Importancia del Lenguaje C
El lenguaje de programación C está caracterizado por ser de uso general, con una sintaxis
sumamente compacta y de alta portabilidad, de fácil aprendizaje.
Es común leer que se lo caracteriza como un lenguaje de “bajo nivel”. No debe
confundirse el término “bajo” con “poco”, ya que el significado del mismo es en realidad “profundo”, en
el sentido que C maneja los elementos básicos presentes en todas las computadoras: caracteres, números
y direcciones.
Esta particularidad, junto con el hecho de no poseer operaciones de entrada-salida,
manejo de arreglo de caracteres, de asignación de memoria, etc , puede al principio parecer un grave
defecto; sin embargo el hecho de que estas operaciones se realicen por medio de llamadas a Funciones
contenidas en Librerías externas al lenguaje en sí, es el que confiere al mismo su alto grado de
portabilidad, independizándolo del “Hardware” sobre el cual corren los programas, como se irá viendo a
lo largo del aprendizaje de este novedoso lenguaje de programación (asignaturas de Programación I y
Programación II).
La descripción del lenguaje se realiza siguiendo las normas del ANSI C, por lo tanto, todo
lo expresado será utilizable con cualquier compilador que se adopte; sin embargo en algunos casos
particulares se utilizaron funciones Compilador ó Sistema Operativo-dependientes, explicitándose en
estos casos la singularidad de las mismas.
Reflexión Del uso del Lenguaje C
Gracias a este tipo de programas la tecnología ha podido alcanzar un gran
avance en todos los ámbitos tanto nacionales como internacionales, es por eso que es
necesario que este tipo de lenguaje se aprenda para poder realizar utilerías capaces de
trabajar y apoyar proyectos que ayudarán al manejo mas sencillo de una empresa ó en
particular pequeñas aplicaciones en el hogar.
El Lenguaje C es relativamente sencillo, pero su gran flexibilidad es terreno
abonado para la creación de vicios y prácticas no adecuadas de programación, por lo cual
debe cuidarse la enseñanza de su estilo de programación, técnica y filosofía de trabajo.
Bibliografías
• Libro el lenguaje de Programación C de Brian W. Kernighan y Ritchie.
• www.taringa.net/posts/linux/17133396/El-Lenguaje-de-Programacion-
C-Kernighan-y-Ritchie.html.
• www.lysortor.liu.se/c/
• www.faqs.org/faqs/C-faq/faq/

Contenu connexe

Tendances

1.1. historia del lenguaje de programacion
1.1. historia del lenguaje de programacion1.1. historia del lenguaje de programacion
1.1. historia del lenguaje de programacion
Alejandro Sanchez Jose
 
Programacion :)
Programacion :)Programacion :)
Programacion :)
fuquencia
 
Lenguajes de programaciòn
Lenguajes de programaciònLenguajes de programaciòn
Lenguajes de programaciòn
javierfelipe97
 
Programacion
ProgramacionProgramacion
Programacion
DAYIS14
 
6 lenguajec++
6 lenguajec++6 lenguajec++
6 lenguajec++
alithu1
 
Evolucion de los lenguajes de programación
Evolucion de los lenguajes de programaciónEvolucion de los lenguajes de programación
Evolucion de los lenguajes de programación
fercho-nava
 
Programación
ProgramaciónProgramación
Programación
dahir84
 

Tendances (19)

Evolución y clasificación de los lenguajes de programación
Evolución y clasificación de los lenguajes de programaciónEvolución y clasificación de los lenguajes de programación
Evolución y clasificación de los lenguajes de programación
 
1.1. historia del lenguaje de programacion
1.1. historia del lenguaje de programacion1.1. historia del lenguaje de programacion
1.1. historia del lenguaje de programacion
 
Programacion :)
Programacion :)Programacion :)
Programacion :)
 
Lenguajes de programaciòn
Lenguajes de programaciònLenguajes de programaciòn
Lenguajes de programaciòn
 
Programacion
ProgramacionProgramacion
Programacion
 
Lenguaje de programación c
Lenguaje de programación cLenguaje de programación c
Lenguaje de programación c
 
Lenguajes De Programacion
Lenguajes De ProgramacionLenguajes De Programacion
Lenguajes De Programacion
 
lenguajes de programacion
lenguajes de programacionlenguajes de programacion
lenguajes de programacion
 
LENGUAJES DE PROGRAMACION
LENGUAJES DE PROGRAMACIONLENGUAJES DE PROGRAMACION
LENGUAJES DE PROGRAMACION
 
Lenguaje C y los Sistemas Operativos Actuales
Lenguaje C y los Sistemas Operativos ActualesLenguaje C y los Sistemas Operativos Actuales
Lenguaje C y los Sistemas Operativos Actuales
 
6 lenguajec++
6 lenguajec++6 lenguajec++
6 lenguajec++
 
Lenguaje de programación c
Lenguaje de programación cLenguaje de programación c
Lenguaje de programación c
 
Roderish informe
Roderish informeRoderish informe
Roderish informe
 
Lenguajes de Programacion según su Generación
Lenguajes de Programacion según su GeneraciónLenguajes de Programacion según su Generación
Lenguajes de Programacion según su Generación
 
Evolucion de los lenguajes de programación
Evolucion de los lenguajes de programaciónEvolucion de los lenguajes de programación
Evolucion de los lenguajes de programación
 
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
 
Lenguajes de programación
Lenguajes de programaciónLenguajes de programación
Lenguajes de programación
 
Compiladores
CompiladoresCompiladores
Compiladores
 
Programación
ProgramaciónProgramación
Programación
 

Similaire à Lenguaje c.Luis Carrodeguas.16418180

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
lupitagarcia07
 
Tipos y caracteristicas de lenguajes de programacion. ( adolfo elias).
Tipos y caracteristicas de lenguajes de programacion. ( adolfo elias).Tipos y caracteristicas de lenguajes de programacion. ( adolfo elias).
Tipos y caracteristicas de lenguajes de programacion. ( adolfo elias).
Alejandro Perez
 
Presentación lenguaje c (pedro luis rodriguez c.i. 16388340)
Presentación lenguaje c (pedro luis rodriguez c.i. 16388340)Presentación lenguaje c (pedro luis rodriguez c.i. 16388340)
Presentación lenguaje c (pedro luis rodriguez c.i. 16388340)
pedrolrc
 
Trabajo de introduc computa
Trabajo de introduc computaTrabajo de introduc computa
Trabajo de introduc computa
Sampdp
 
Trabajo de introduc computa
Trabajo de introduc computaTrabajo de introduc computa
Trabajo de introduc computa
Sampdp
 
Trabajo de introduc computa
Trabajo de introduc computaTrabajo de introduc computa
Trabajo de introduc computa
Sampdp
 
Trabajo de introduc computa
Trabajo de introduc computaTrabajo de introduc computa
Trabajo de introduc computa
Sampdp
 

Similaire à Lenguaje c.Luis Carrodeguas.16418180 (20)

Lenguaje c
Lenguaje cLenguaje c
Lenguaje c
 
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
Lenguaje cLenguaje c
Lenguaje c
 
Tipos y caracteristicas de lenguajes de programacion. ( adolfo elias).
Tipos y caracteristicas de lenguajes de programacion. ( adolfo elias).Tipos y caracteristicas de lenguajes de programacion. ( adolfo elias).
Tipos y caracteristicas de lenguajes de programacion. ( adolfo elias).
 
lenguaje de programación
lenguaje de programación lenguaje de programación
lenguaje de programación
 
Informe.
Informe.Informe.
Informe.
 
Presentación lenguaje c (pedro luis rodriguez c.i. 16388340)
Presentación lenguaje c (pedro luis rodriguez c.i. 16388340)Presentación lenguaje c (pedro luis rodriguez c.i. 16388340)
Presentación lenguaje c (pedro luis rodriguez c.i. 16388340)
 
Lenguaje c
Lenguaje cLenguaje c
Lenguaje c
 
Lenguje c.PRESENTACION
Lenguje c.PRESENTACIONLenguje c.PRESENTACION
Lenguje c.PRESENTACION
 
Lenguaje c
Lenguaje cLenguaje c
Lenguaje c
 
Programacion
ProgramacionProgramacion
Programacion
 
Aplicacion de c
Aplicacion de cAplicacion de c
Aplicacion de c
 
Cabrera ies 2011
Cabrera ies 2011Cabrera ies 2011
Cabrera ies 2011
 
Lenguaje de Programación C
Lenguaje de Programación CLenguaje de Programación C
Lenguaje de Programación C
 
Presentación lenguajedeprogramacion
Presentación lenguajedeprogramacionPresentación lenguajedeprogramacion
Presentación lenguajedeprogramacion
 
Lenguajes De Programación
Lenguajes De ProgramaciónLenguajes De Programación
Lenguajes De Programación
 
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
 

Dernier

04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdf
04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdf04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdf
04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdf
CristhianZetaNima
 
Procesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptx
Procesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptxProcesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptx
Procesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptx
JuanPablo452634
 
MODIFICADO - CAPITULO II DISEÑO SISMORRESISTENTE DE VIGAS Y COLUMNAS.pdf
MODIFICADO - CAPITULO II DISEÑO SISMORRESISTENTE DE VIGAS Y COLUMNAS.pdfMODIFICADO - CAPITULO II DISEÑO SISMORRESISTENTE DE VIGAS Y COLUMNAS.pdf
MODIFICADO - CAPITULO II DISEÑO SISMORRESISTENTE DE VIGAS Y COLUMNAS.pdf
vladimirpaucarmontes
 

Dernier (20)

Voladura Controlada Sobrexcavación (como se lleva a cabo una voladura)
Voladura Controlada  Sobrexcavación (como se lleva a cabo una voladura)Voladura Controlada  Sobrexcavación (como se lleva a cabo una voladura)
Voladura Controlada Sobrexcavación (como se lleva a cabo una voladura)
 
Maquinaria Agricola utilizada en la produccion de Piña.pdf
Maquinaria Agricola utilizada en la produccion de Piña.pdfMaquinaria Agricola utilizada en la produccion de Piña.pdf
Maquinaria Agricola utilizada en la produccion de Piña.pdf
 
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdf
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdfReporte de simulación de flujo del agua en un volumen de control MNVA.pdf
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdf
 
04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdf
04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdf04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdf
04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdf
 
Sesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
Sesión 02 TIPOS DE VALORIZACIONES CURSO CersaSesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
Sesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
 
TEXTO UNICO DE LA LEY-DE-CONTRATACIONES-ESTADO.pdf
TEXTO UNICO DE LA LEY-DE-CONTRATACIONES-ESTADO.pdfTEXTO UNICO DE LA LEY-DE-CONTRATACIONES-ESTADO.pdf
TEXTO UNICO DE LA LEY-DE-CONTRATACIONES-ESTADO.pdf
 
01 MATERIALES AERONAUTICOS VARIOS clase 1.ppt
01 MATERIALES AERONAUTICOS VARIOS clase 1.ppt01 MATERIALES AERONAUTICOS VARIOS clase 1.ppt
01 MATERIALES AERONAUTICOS VARIOS clase 1.ppt
 
Clase 7 MECÁNICA DE FLUIDOS 2 INGENIERIA CIVIL
Clase 7 MECÁNICA DE FLUIDOS 2 INGENIERIA CIVILClase 7 MECÁNICA DE FLUIDOS 2 INGENIERIA CIVIL
Clase 7 MECÁNICA DE FLUIDOS 2 INGENIERIA CIVIL
 
Elaboración de la estructura del ADN y ARN en papel.pdf
Elaboración de la estructura del ADN y ARN en papel.pdfElaboración de la estructura del ADN y ARN en papel.pdf
Elaboración de la estructura del ADN y ARN en papel.pdf
 
ECONOMIA APLICADA SEMANA 555555555544.pdf
ECONOMIA APLICADA SEMANA 555555555544.pdfECONOMIA APLICADA SEMANA 555555555544.pdf
ECONOMIA APLICADA SEMANA 555555555544.pdf
 
PostgreSQL on Kubernetes Using GitOps and ArgoCD
PostgreSQL on Kubernetes Using GitOps and ArgoCDPostgreSQL on Kubernetes Using GitOps and ArgoCD
PostgreSQL on Kubernetes Using GitOps and ArgoCD
 
Procesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptx
Procesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptxProcesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptx
Procesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptx
 
Falla de san andres y el gran cañon : enfoque integral
Falla de san andres y el gran cañon : enfoque integralFalla de san andres y el gran cañon : enfoque integral
Falla de san andres y el gran cañon : enfoque integral
 
CALCULO DE ENGRANAJES RECTOS SB-2024.pptx
CALCULO DE ENGRANAJES RECTOS SB-2024.pptxCALCULO DE ENGRANAJES RECTOS SB-2024.pptx
CALCULO DE ENGRANAJES RECTOS SB-2024.pptx
 
Quimica Raymond Chang 12va Edicion___pdf
Quimica Raymond Chang 12va Edicion___pdfQuimica Raymond Chang 12va Edicion___pdf
Quimica Raymond Chang 12va Edicion___pdf
 
Mapas y cartas topográficas y de suelos.pptx
Mapas y cartas topográficas y de suelos.pptxMapas y cartas topográficas y de suelos.pptx
Mapas y cartas topográficas y de suelos.pptx
 
UNIDAD 3 ELECTRODOS.pptx para biopotenciales
UNIDAD 3 ELECTRODOS.pptx para biopotencialesUNIDAD 3 ELECTRODOS.pptx para biopotenciales
UNIDAD 3 ELECTRODOS.pptx para biopotenciales
 
PPT ELABORARACION DE ADOBES 2023 (1).pdf
PPT ELABORARACION DE ADOBES 2023 (1).pdfPPT ELABORARACION DE ADOBES 2023 (1).pdf
PPT ELABORARACION DE ADOBES 2023 (1).pdf
 
Propuesta para la creación de un Centro de Innovación para la Refundación ...
Propuesta para la creación de un Centro de Innovación para la Refundación ...Propuesta para la creación de un Centro de Innovación para la Refundación ...
Propuesta para la creación de un Centro de Innovación para la Refundación ...
 
MODIFICADO - CAPITULO II DISEÑO SISMORRESISTENTE DE VIGAS Y COLUMNAS.pdf
MODIFICADO - CAPITULO II DISEÑO SISMORRESISTENTE DE VIGAS Y COLUMNAS.pdfMODIFICADO - CAPITULO II DISEÑO SISMORRESISTENTE DE VIGAS Y COLUMNAS.pdf
MODIFICADO - CAPITULO II DISEÑO SISMORRESISTENTE DE VIGAS Y COLUMNAS.pdf
 

Lenguaje c.Luis Carrodeguas.16418180

  • 1. UNIVERSIDAD FERMIN TORO VICE-RECTORADO ACADEMICO DECANATO DE INGENIERIA ASIGNATURA: COMPUTACION PARA INGENIEROS HECHO POR: Luis Carrodeguas C.I: 16.418.180 Cabudare 19 de Noviembre del 2015. Aplicaciones de Lenguaje C Y sus Ventajas y Desventajas.
  • 2. Lenguaje C y Sus Creadores El Lenguaje C fue creado en el año 1972 por Dennis Ritchie bajo el sistema operativo UNIX. Fue el resultado final de un proyecto que comenzó con un lenguaje llamado BCPL (Basic Combined Programming Language) diseñado por Martin Richards en el año 1967, que a su vez estaba influenciado por el lenguaje CPL (Combined Programming Language) desarrollado por las universidades de Cambridge y Londres. A partir del BCPL, Ken Thompson creó un lenguaje llamado B, que fue el que condujo al desarrollo del Lenguaje C. Durante muchos años el estándar para C fue el que se suministraba con la versión 5 de UNIX. Pero con la creciente popularidad de los microordenadores aparecieron muchas implementaciones diferentes (Quick C de Microsoft, Turbo C de Borland, etc.) que, aunque eran altamente compatibles entre sí, tenían algunas diferencias. Por ello, en 1983 se creó un comité que elaboró el documento que define el estándar ANSI de C. El Lenguaje C es un lenguaje de nivel medio, es decir, sin ser un lenguaje de alto nivel como COBOL, BASIC o Pascal, tampoco es un Lenguaje Ensamblador. Dennis Ritchie. Septiembre de 1942 hasta Octubre del 2011 Martin Richards. Programador Informático y Teórico de la Informática Británico.
  • 3. Ventajas del Leguaje C  El lenguaje C ha sido pensado para ser altamente transportable.  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.
  • 4. Desventaja del Leguaje C Al igual que otros lenguajes tiene sus inconvenientes como:  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.  Encapsulación.  Funciones anidadas, aunque GCC tiene esta característica como extensión.  Polimorfismo en tiempo de código en forma de sobrecarga, sobrecarga de operadores y sólo dispone de un soporte rudimentario para la programación genérica.  Soporte nativo para programación multihilo y redes de computadores.  Carece de instrucciones de entrada/salida, de instrucciones para manejo de cadenas de caracteres, con lo que este trabajo queda para la librería de rutinas, con la consiguiente pérdida de transportabilidad. Leguaje C
  • 5. Características del Leguaje C Su principal característica es que es portable, quiere decir que puedes adaptar los programas escritos para un tipo de computadora en otra. También es estructurado, por que se divide en módulos que son independientes entre si. El lenguaje C inicialmente fue creado para la programación de: • Sistemas Operativos. • Interpretes. • Editores. • Ensambladores. • Compiladores. • Administradores de bases de datos. • Actualmente puede ser utilizado para todo tipo de programas. En su desarrollo se siguieron una serie de líneas generales tales como: - El compilador debe ser lo más pequeño y eficiente posible. - Pocas palabras reservadas, como, un conjunto reducido de sentencias. - No existe anidamiento de procedimientos. - La entrada/salida no se considera parte del lenguaje en sí, sino que se apoya a través de funciones de librería. - La misma política se sigue con cualquier otro tipo complejo de instrucciones.
  • 6. Para escribir un programa se debe poder escribir poco texto. Para lograr esto se reduce el número de palabras claves. Con ello se llegó a un compilador con un juego de instrucciones, que permite aumentar la productividad por día de los programadores. A pesar de ello C es un lenguaje rápido de aprender, que deriva en compiladores sencillos de diseñar, robustos, y que generan objetos pequeños y eficientes. Estas y otras características lo hacen adecuado para la programación en áreas tales como: • programación de sistemas • estructuras de datos y sistemas de bases de datos • aplicaciones científicas • software gráfico • análisis numérico Características del Leguaje C
  • 7. Una de las peculiaridades de C es su riqueza de operadores. Puede decirse que prácticamente dispone de un operador para cada una de las posibles operaciones en código máquina. Por último solo queda decir que el C es un lenguaje relativamente pequeño; se puede describir en poco espacio y aprender rápidamente. Características del Leguaje C
  • 8. Utilidad del Leguaje C Con este lenguaje de programación se puede programar prácticamente cualquier cosas desde juegos hasta programas de Cálculos avanzados entre otros.
  • 9. Importancia del Lenguaje C El lenguaje de programación C está caracterizado por ser de uso general, con una sintaxis sumamente compacta y de alta portabilidad, de fácil aprendizaje. Es común leer que se lo caracteriza como un lenguaje de “bajo nivel”. No debe confundirse el término “bajo” con “poco”, ya que el significado del mismo es en realidad “profundo”, en el sentido que C maneja los elementos básicos presentes en todas las computadoras: caracteres, números y direcciones. Esta particularidad, junto con el hecho de no poseer operaciones de entrada-salida, manejo de arreglo de caracteres, de asignación de memoria, etc , puede al principio parecer un grave defecto; sin embargo el hecho de que estas operaciones se realicen por medio de llamadas a Funciones contenidas en Librerías externas al lenguaje en sí, es el que confiere al mismo su alto grado de portabilidad, independizándolo del “Hardware” sobre el cual corren los programas, como se irá viendo a lo largo del aprendizaje de este novedoso lenguaje de programación (asignaturas de Programación I y Programación II). La descripción del lenguaje se realiza siguiendo las normas del ANSI C, por lo tanto, todo lo expresado será utilizable con cualquier compilador que se adopte; sin embargo en algunos casos particulares se utilizaron funciones Compilador ó Sistema Operativo-dependientes, explicitándose en estos casos la singularidad de las mismas.
  • 10. Reflexión Del uso del Lenguaje C Gracias a este tipo de programas la tecnología ha podido alcanzar un gran avance en todos los ámbitos tanto nacionales como internacionales, es por eso que es necesario que este tipo de lenguaje se aprenda para poder realizar utilerías capaces de trabajar y apoyar proyectos que ayudarán al manejo mas sencillo de una empresa ó en particular pequeñas aplicaciones en el hogar. El Lenguaje C es relativamente sencillo, pero su gran flexibilidad es terreno abonado para la creación de vicios y prácticas no adecuadas de programación, por lo cual debe cuidarse la enseñanza de su estilo de programación, técnica y filosofía de trabajo.
  • 11. Bibliografías • Libro el lenguaje de Programación C de Brian W. Kernighan y Ritchie. • www.taringa.net/posts/linux/17133396/El-Lenguaje-de-Programacion- C-Kernighan-y-Ritchie.html. • www.lysortor.liu.se/c/ • www.faqs.org/faqs/C-faq/faq/