SlideShare una empresa de Scribd logo
Lenguaje de
Programación C
Gabriela Monsalve #03
Mariangel Méndez #06
Lenguaje de programación C
C es un lenguaje de programación originalmente desarrollado
por Dennis 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.
Se trata de un lenguaje de tipos de datos estáticos, débilmente
tipificado, de medio nivel, ya que dispone de las estructuras
típicas de los lenguajes de alto nivel pero, a su vez, dispone de
construcciones del lenguaje que permiten un control a muy bajo
nivel. Los compiladores suelen ofrecer extensiones al lenguaje
que posibilitan mezclar código en ensamblador con código C o
acceder directamente a memoria o dispositivos periféricos.
Características
Propiedades
Carencias
 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. Véase también la librería GObject.
 Funciones anidadas, aunque GCC
tiene esta característica como
extensión.
 Soporte nativo para
programación multihilo. Disponible
usando librerías como libpthread.
o Núcleo del lenguaje simple, con
funcionalidades añadidas
importantes, como funciones
matemáticas y de manejo de
archivos, proporcionadas
por bibliotecas.
o Es un lenguaje muy flexible que
permite programar con múltiples
estilos.
o Un sistema de tipos que impide
operaciones sin sentido.
o Acceso a memoria de bajo nivel
mediante el uso de punteros.
o Interrupciones al procesador
con uniones.
o Un conjunto reducido de palabras
clave.
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
 El mayor problema que presenta el
lenguaje C frente a los lenguajes
de tipo de dato dinámico es la
gran diferencia en velocidad de
desarrollo.
 La gestión de la memoria es un
ejemplo clásico: en C el programador
ha de reservar y liberar la memoria
explícitamente
 El mantenimiento en algunos casos
puede ser más difícil y costoso que
con ciertos lenguajes de más alto
nivel.
¿Qué necesito para poder
aprender C?
Aunque se puede aprender a programar con C, es
recomendable haber aprendido la lógica de programación
con lenguajes de alto nivel, quizá conocer python, java u
otros lenguajes.
Tener el conocimiento de Assembly ayuda bastante a
comprender C, además de saber exactamente que
hacemos cuando trabajamos con punteros y acceso a
posiciones de memoria e incluso al momento de interactuar
con bibliotecas externas.
Tiempo y mucha investigación para comprender a fondo
cómo funciona el lenguaje con sus características mas
importantes será importante.
¿Por qué debería de aprender C?
 Es un lenguaje que mejorará mucho la forma en que
comprendemos los demás lenguajes, ya que para realizar cosas
que vemos casi automáticas en otros lenguajes de alto nivel, acá se
deben de realizar con la lógica con que el lenguaje de máquina
funciona, permitiendo de ésta manera saber exactamente que pasa
en cada parte de una aplicación y mejorar grandemente nuestra
lógica de programación.
 Conocer el uso de punteros es esencial en C, lo que hace que
sepamos apreciar su lógica de funcionamiento, entendiendo cómo
se reserva la memoria, como se libera, su utilización, cómo
podemos almacenar la información de distintas maneras, convertir
tipos de datos, pasar variables por valor y referencia a funciones,
etc.
Importancia
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).

Más contenido relacionado

La actualidad más candente

Mi lenguaje de preferencia
Mi lenguaje de preferenciaMi lenguaje de preferencia
Mi lenguaje de preferencia
Jorge Rondon Otero
 
Clasificación de lenguajes
Clasificación de lenguajesClasificación de lenguajes
Clasificación de lenguajesmafer3388
 
Programacion :)
Programacion :)Programacion :)
Programacion :)fuquencia
 
Lenguaje c hebert gonzalez
Lenguaje c hebert gonzalezLenguaje c hebert gonzalez
Lenguaje c hebert gonzalez
Hebert Gonzalez
 
Programacion
ProgramacionProgramacion
ProgramacionDAYIS14
 
Lenguaje c ibeth lozada
Lenguaje c ibeth lozadaLenguaje c ibeth lozada
Lenguaje c ibeth lozada
AdrianaYepezM
 
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ónfercho-nava
 
Lenguaje de programacion UFT
Lenguaje de programacion UFT Lenguaje de programacion UFT
Lenguaje de programacion UFT
jose chavez
 
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 programacionAlejandro Sanchez Jose
 
Introduccion al lenguaje de programacion (rafa)
Introduccion al lenguaje de programacion (rafa)Introduccion al lenguaje de programacion (rafa)
Introduccion al lenguaje de programacion (rafa)
rjcm107
 
Lenguaje de Programación C
Lenguaje de Programación CLenguaje de Programación C
Lenguaje de Programación C
grecia morales
 
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
Guissela Guerrero
 
Lenguaje c
Lenguaje cLenguaje c
Lenguaje c
Alejando Lopez
 
Lenguajes de programaciòn
Lenguajes de programaciònLenguajes de programaciòn
Lenguajes de programaciònjavierfelipe97
 
Lenguajes De Programacion
Lenguajes De ProgramacionLenguajes De Programacion
Lenguajes De Programacionfcolauravel
 

La actualidad más candente (18)

Mi lenguaje de preferencia
Mi lenguaje de preferenciaMi lenguaje de preferencia
Mi lenguaje de preferencia
 
Clasificación de lenguajes
Clasificación de lenguajesClasificación de lenguajes
Clasificación de lenguajes
 
Programacion :)
Programacion :)Programacion :)
Programacion :)
 
Lenguaje c hebert gonzalez
Lenguaje c hebert gonzalezLenguaje c hebert gonzalez
Lenguaje c hebert gonzalez
 
Programacion 7 b
Programacion 7 bProgramacion 7 b
Programacion 7 b
 
Programacion
ProgramacionProgramacion
Programacion
 
lenguajes de programacion
lenguajes de programacionlenguajes de programacion
lenguajes de programacion
 
Lenguaje c ibeth lozada
Lenguaje c ibeth lozadaLenguaje c ibeth lozada
Lenguaje c ibeth lozada
 
6 lenguajec++
6 lenguajec++6 lenguajec++
6 lenguajec++
 
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
 
Lenguaje de programacion UFT
Lenguaje de programacion UFT Lenguaje de programacion UFT
Lenguaje de programacion UFT
 
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
 
Introduccion al lenguaje de programacion (rafa)
Introduccion al lenguaje de programacion (rafa)Introduccion al lenguaje de programacion (rafa)
Introduccion al lenguaje de programacion (rafa)
 
Lenguaje de Programación C
Lenguaje de Programación CLenguaje de Programación C
Lenguaje de Programación C
 
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
 
Lenguaje c
Lenguaje cLenguaje c
Lenguaje c
 
Lenguajes de programaciòn
Lenguajes de programaciònLenguajes de programaciòn
Lenguajes de programaciòn
 
Lenguajes De Programacion
Lenguajes De ProgramacionLenguajes De Programacion
Lenguajes De Programacion
 

Similar a Lenguaje de programación c

Lenguaje c
Lenguaje cLenguaje c
Lenguaje c
wuaro1
 
Lenguaje c++
Lenguaje c++Lenguaje c++
Lenguaje c++
sandra gutierrez
 
LENGUAJES DE PROGRAMACION
LENGUAJES DE PROGRAMACIONLENGUAJES DE PROGRAMACION
LENGUAJES DE PROGRAMACION
Bryan 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
 
Informe.
Informe.Informe.
Informe.
villadaniel11
 
Lenguaje c
Lenguaje cLenguaje c
Lenguaje c
luisaquiroga4
 
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
 
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
 
Lenguaje c
Lenguaje cLenguaje c
Lenguaje c
Ale2417
 
Lenguaje C++
Lenguaje C++Lenguaje C++
Lenguaje C++AlfaBVB98
 
Lenguaje c++
Lenguaje c++Lenguaje c++
Lenguaje c++
DomenikaStefania
 
Lenguaje c++
Lenguaje c++Lenguaje c++
Lenguaje c++
fernandezjoha
 
Lenguaje c++
Lenguaje c++Lenguaje c++
Lenguaje c++
fernandezjoha
 
Lenguaje c++
Lenguaje c++Lenguaje c++
Lenguaje c++
fernandezjoha
 
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
 

Similar a Lenguaje de programación c (20)

Lenguaje c
Lenguaje cLenguaje c
Lenguaje c
 
Lenguaje c++
Lenguaje c++Lenguaje c++
Lenguaje c++
 
LENGUAJES DE PROGRAMACION
LENGUAJES DE PROGRAMACIONLENGUAJES DE PROGRAMACION
LENGUAJES DE PROGRAMACION
 
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
 
Informe.
Informe.Informe.
Informe.
 
Cabrera ies 2011
Cabrera ies 2011Cabrera ies 2011
Cabrera ies 2011
 
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
 
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
 
Lenguaje C++
Lenguaje C++Lenguaje C++
Lenguaje C++
 
Unidad 3
Unidad 3Unidad 3
Unidad 3
 
Lenguaje c++
Lenguaje c++Lenguaje c++
Lenguaje c++
 
Lenguaje c++
Lenguaje c++Lenguaje c++
Lenguaje c++
 
Lenguaje c++
Lenguaje c++Lenguaje c++
Lenguaje c++
 
Lenguaje c++
Lenguaje c++Lenguaje c++
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++
 

Último

True Mother's Speech at THE PENTECOST SERVICE..pdf
True Mother's Speech at THE PENTECOST SERVICE..pdfTrue Mother's Speech at THE PENTECOST SERVICE..pdf
True Mother's Speech at THE PENTECOST SERVICE..pdf
Mercedes Gonzalez
 
Proceso de admisiones en escuelas infantiles de Pamplona
Proceso de admisiones en escuelas infantiles de PamplonaProceso de admisiones en escuelas infantiles de Pamplona
Proceso de admisiones en escuelas infantiles de Pamplona
Edurne Navarro Bueno
 
SESION ORDENAMOS NÚMEROS EN FORMA ASCENDENTE Y DESCENDENTE 20 DE MAYO.docx
SESION ORDENAMOS NÚMEROS EN FORMA ASCENDENTE Y DESCENDENTE 20 DE MAYO.docxSESION ORDENAMOS NÚMEROS EN FORMA ASCENDENTE Y DESCENDENTE 20 DE MAYO.docx
SESION ORDENAMOS NÚMEROS EN FORMA ASCENDENTE Y DESCENDENTE 20 DE MAYO.docx
QuispeJimenezDyuy
 
CONCLUSIONES-DESCRIPTIVAS NIVEL PRIMARIA
CONCLUSIONES-DESCRIPTIVAS NIVEL PRIMARIACONCLUSIONES-DESCRIPTIVAS NIVEL PRIMARIA
CONCLUSIONES-DESCRIPTIVAS NIVEL PRIMARIA
BetzabePecheSalcedo1
 
Portafolio de servicios Centro de Educación Continua EPN
Portafolio de servicios Centro de Educación Continua EPNPortafolio de servicios Centro de Educación Continua EPN
Portafolio de servicios Centro de Educación Continua EPN
jmorales40
 
Semana #10-PM3 del 27 al 31 de mayo.pptx
Semana #10-PM3 del 27 al 31 de mayo.pptxSemana #10-PM3 del 27 al 31 de mayo.pptx
Semana #10-PM3 del 27 al 31 de mayo.pptx
LorenaCovarrubias12
 
T3-Instrumento de evaluacion_Planificación Analìtica_Actividad con IA.pdf
T3-Instrumento de evaluacion_Planificación Analìtica_Actividad con IA.pdfT3-Instrumento de evaluacion_Planificación Analìtica_Actividad con IA.pdf
T3-Instrumento de evaluacion_Planificación Analìtica_Actividad con IA.pdf
eliecerespinosa
 
Conocemos la ermita de Ntra. Sra. del Arrabal
Conocemos la ermita de Ntra. Sra. del ArrabalConocemos la ermita de Ntra. Sra. del Arrabal
Conocemos la ermita de Ntra. Sra. del Arrabal
Profes de Relideleón Apellidos
 
Mapa_Conceptual de los fundamentos de la evaluación educativa
Mapa_Conceptual de los fundamentos de la evaluación educativaMapa_Conceptual de los fundamentos de la evaluación educativa
Mapa_Conceptual de los fundamentos de la evaluación educativa
TatianaVanessaAltami
 
Productos contestatos de la Séptima sesión ordinaria de CTE y TIFC para Docen...
Productos contestatos de la Séptima sesión ordinaria de CTE y TIFC para Docen...Productos contestatos de la Séptima sesión ordinaria de CTE y TIFC para Docen...
Productos contestatos de la Séptima sesión ordinaria de CTE y TIFC para Docen...
Monseespinoza6
 
Automatización de proceso de producción de la empresa Gloria SA (1).pptx
Automatización de proceso de producción de la empresa Gloria SA (1).pptxAutomatización de proceso de producción de la empresa Gloria SA (1).pptx
Automatización de proceso de producción de la empresa Gloria SA (1).pptx
GallardoJahse
 
ACERTIJO DE CARRERA OLÍMPICA DE SUMA DE LABERINTOS. Por JAVIER SOLIS NOYOLA
ACERTIJO DE CARRERA OLÍMPICA DE SUMA DE LABERINTOS. Por JAVIER SOLIS NOYOLAACERTIJO DE CARRERA OLÍMPICA DE SUMA DE LABERINTOS. Por JAVIER SOLIS NOYOLA
ACERTIJO DE CARRERA OLÍMPICA DE SUMA DE LABERINTOS. Por JAVIER SOLIS NOYOLA
JAVIER SOLIS NOYOLA
 
El Liberalismo económico en la sociedad y en el mundo
El Liberalismo económico en la sociedad y en el mundoEl Liberalismo económico en la sociedad y en el mundo
El Liberalismo económico en la sociedad y en el mundo
SandraBenitez52
 
c3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptx
c3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptxc3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptx
c3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptx
Martín Ramírez
 
Un libro sin recetas, para la maestra y el maestro Fase 3.pdf
Un libro sin recetas, para la maestra y el maestro Fase 3.pdfUn libro sin recetas, para la maestra y el maestro Fase 3.pdf
Un libro sin recetas, para la maestra y el maestro Fase 3.pdf
sandradianelly
 
Friedrich Nietzsche. Presentación de 2 de Bachillerato.
Friedrich Nietzsche. Presentación de 2 de Bachillerato.Friedrich Nietzsche. Presentación de 2 de Bachillerato.
Friedrich Nietzsche. Presentación de 2 de Bachillerato.
pablomarin116
 
PRÁCTICAS PEDAGOGÍA.pdf_Educación Y Sociedad_AnaFernández
PRÁCTICAS PEDAGOGÍA.pdf_Educación Y Sociedad_AnaFernándezPRÁCTICAS PEDAGOGÍA.pdf_Educación Y Sociedad_AnaFernández
PRÁCTICAS PEDAGOGÍA.pdf_Educación Y Sociedad_AnaFernández
Ruben53283
 
Presentación Revistas y Periódicos Digitales
Presentación Revistas y Periódicos DigitalesPresentación Revistas y Periódicos Digitales
Presentación Revistas y Periódicos Digitales
nievesjiesc03
 
UNIDAD DE APRENDIZAJE DEL MES Junio 2024
UNIDAD DE APRENDIZAJE DEL MES  Junio 2024UNIDAD DE APRENDIZAJE DEL MES  Junio 2024
UNIDAD DE APRENDIZAJE DEL MES Junio 2024
EdwardYumbato1
 
PPT: El fundamento del gobierno de Dios.
PPT: El fundamento del gobierno de Dios.PPT: El fundamento del gobierno de Dios.
PPT: El fundamento del gobierno de Dios.
https://gramadal.wordpress.com/
 

Último (20)

True Mother's Speech at THE PENTECOST SERVICE..pdf
True Mother's Speech at THE PENTECOST SERVICE..pdfTrue Mother's Speech at THE PENTECOST SERVICE..pdf
True Mother's Speech at THE PENTECOST SERVICE..pdf
 
Proceso de admisiones en escuelas infantiles de Pamplona
Proceso de admisiones en escuelas infantiles de PamplonaProceso de admisiones en escuelas infantiles de Pamplona
Proceso de admisiones en escuelas infantiles de Pamplona
 
SESION ORDENAMOS NÚMEROS EN FORMA ASCENDENTE Y DESCENDENTE 20 DE MAYO.docx
SESION ORDENAMOS NÚMEROS EN FORMA ASCENDENTE Y DESCENDENTE 20 DE MAYO.docxSESION ORDENAMOS NÚMEROS EN FORMA ASCENDENTE Y DESCENDENTE 20 DE MAYO.docx
SESION ORDENAMOS NÚMEROS EN FORMA ASCENDENTE Y DESCENDENTE 20 DE MAYO.docx
 
CONCLUSIONES-DESCRIPTIVAS NIVEL PRIMARIA
CONCLUSIONES-DESCRIPTIVAS NIVEL PRIMARIACONCLUSIONES-DESCRIPTIVAS NIVEL PRIMARIA
CONCLUSIONES-DESCRIPTIVAS NIVEL PRIMARIA
 
Portafolio de servicios Centro de Educación Continua EPN
Portafolio de servicios Centro de Educación Continua EPNPortafolio de servicios Centro de Educación Continua EPN
Portafolio de servicios Centro de Educación Continua EPN
 
Semana #10-PM3 del 27 al 31 de mayo.pptx
Semana #10-PM3 del 27 al 31 de mayo.pptxSemana #10-PM3 del 27 al 31 de mayo.pptx
Semana #10-PM3 del 27 al 31 de mayo.pptx
 
T3-Instrumento de evaluacion_Planificación Analìtica_Actividad con IA.pdf
T3-Instrumento de evaluacion_Planificación Analìtica_Actividad con IA.pdfT3-Instrumento de evaluacion_Planificación Analìtica_Actividad con IA.pdf
T3-Instrumento de evaluacion_Planificación Analìtica_Actividad con IA.pdf
 
Conocemos la ermita de Ntra. Sra. del Arrabal
Conocemos la ermita de Ntra. Sra. del ArrabalConocemos la ermita de Ntra. Sra. del Arrabal
Conocemos la ermita de Ntra. Sra. del Arrabal
 
Mapa_Conceptual de los fundamentos de la evaluación educativa
Mapa_Conceptual de los fundamentos de la evaluación educativaMapa_Conceptual de los fundamentos de la evaluación educativa
Mapa_Conceptual de los fundamentos de la evaluación educativa
 
Productos contestatos de la Séptima sesión ordinaria de CTE y TIFC para Docen...
Productos contestatos de la Séptima sesión ordinaria de CTE y TIFC para Docen...Productos contestatos de la Séptima sesión ordinaria de CTE y TIFC para Docen...
Productos contestatos de la Séptima sesión ordinaria de CTE y TIFC para Docen...
 
Automatización de proceso de producción de la empresa Gloria SA (1).pptx
Automatización de proceso de producción de la empresa Gloria SA (1).pptxAutomatización de proceso de producción de la empresa Gloria SA (1).pptx
Automatización de proceso de producción de la empresa Gloria SA (1).pptx
 
ACERTIJO DE CARRERA OLÍMPICA DE SUMA DE LABERINTOS. Por JAVIER SOLIS NOYOLA
ACERTIJO DE CARRERA OLÍMPICA DE SUMA DE LABERINTOS. Por JAVIER SOLIS NOYOLAACERTIJO DE CARRERA OLÍMPICA DE SUMA DE LABERINTOS. Por JAVIER SOLIS NOYOLA
ACERTIJO DE CARRERA OLÍMPICA DE SUMA DE LABERINTOS. Por JAVIER SOLIS NOYOLA
 
El Liberalismo económico en la sociedad y en el mundo
El Liberalismo económico en la sociedad y en el mundoEl Liberalismo económico en la sociedad y en el mundo
El Liberalismo económico en la sociedad y en el mundo
 
c3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptx
c3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptxc3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptx
c3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptx
 
Un libro sin recetas, para la maestra y el maestro Fase 3.pdf
Un libro sin recetas, para la maestra y el maestro Fase 3.pdfUn libro sin recetas, para la maestra y el maestro Fase 3.pdf
Un libro sin recetas, para la maestra y el maestro Fase 3.pdf
 
Friedrich Nietzsche. Presentación de 2 de Bachillerato.
Friedrich Nietzsche. Presentación de 2 de Bachillerato.Friedrich Nietzsche. Presentación de 2 de Bachillerato.
Friedrich Nietzsche. Presentación de 2 de Bachillerato.
 
PRÁCTICAS PEDAGOGÍA.pdf_Educación Y Sociedad_AnaFernández
PRÁCTICAS PEDAGOGÍA.pdf_Educación Y Sociedad_AnaFernándezPRÁCTICAS PEDAGOGÍA.pdf_Educación Y Sociedad_AnaFernández
PRÁCTICAS PEDAGOGÍA.pdf_Educación Y Sociedad_AnaFernández
 
Presentación Revistas y Periódicos Digitales
Presentación Revistas y Periódicos DigitalesPresentación Revistas y Periódicos Digitales
Presentación Revistas y Periódicos Digitales
 
UNIDAD DE APRENDIZAJE DEL MES Junio 2024
UNIDAD DE APRENDIZAJE DEL MES  Junio 2024UNIDAD DE APRENDIZAJE DEL MES  Junio 2024
UNIDAD DE APRENDIZAJE DEL MES Junio 2024
 
PPT: El fundamento del gobierno de Dios.
PPT: El fundamento del gobierno de Dios.PPT: El fundamento del gobierno de Dios.
PPT: El fundamento del gobierno de Dios.
 

Lenguaje de programación c

  • 1. Lenguaje de Programación C Gabriela Monsalve #03 Mariangel Méndez #06
  • 2. Lenguaje de programación C C es un lenguaje de programación originalmente desarrollado por Dennis 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. Se trata de un lenguaje de tipos de datos estáticos, débilmente tipificado, de medio nivel, ya que dispone de las estructuras típicas de los lenguajes de alto nivel pero, a su vez, dispone de construcciones del lenguaje que permiten un control a muy bajo nivel. Los compiladores suelen ofrecer extensiones al lenguaje que posibilitan mezclar código en ensamblador con código C o acceder directamente a memoria o dispositivos periféricos.
  • 3. Características Propiedades Carencias  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. Véase también la librería GObject.  Funciones anidadas, aunque GCC tiene esta característica como extensión.  Soporte nativo para programación multihilo. Disponible usando librerías como libpthread. o Núcleo del lenguaje simple, con funcionalidades añadidas importantes, como funciones matemáticas y de manejo de archivos, proporcionadas por bibliotecas. o Es un lenguaje muy flexible que permite programar con múltiples estilos. o Un sistema de tipos que impide operaciones sin sentido. o Acceso a memoria de bajo nivel mediante el uso de punteros. o Interrupciones al procesador con uniones. o Un conjunto reducido de palabras clave.
  • 4. 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  El mayor problema que presenta el lenguaje C frente a los lenguajes de tipo de dato dinámico es la gran diferencia en velocidad de desarrollo.  La gestión de la memoria es un ejemplo clásico: en C el programador ha de reservar y liberar la memoria explícitamente  El mantenimiento en algunos casos puede ser más difícil y costoso que con ciertos lenguajes de más alto nivel.
  • 5. ¿Qué necesito para poder aprender C? Aunque se puede aprender a programar con C, es recomendable haber aprendido la lógica de programación con lenguajes de alto nivel, quizá conocer python, java u otros lenguajes. Tener el conocimiento de Assembly ayuda bastante a comprender C, además de saber exactamente que hacemos cuando trabajamos con punteros y acceso a posiciones de memoria e incluso al momento de interactuar con bibliotecas externas. Tiempo y mucha investigación para comprender a fondo cómo funciona el lenguaje con sus características mas importantes será importante.
  • 6. ¿Por qué debería de aprender C?  Es un lenguaje que mejorará mucho la forma en que comprendemos los demás lenguajes, ya que para realizar cosas que vemos casi automáticas en otros lenguajes de alto nivel, acá se deben de realizar con la lógica con que el lenguaje de máquina funciona, permitiendo de ésta manera saber exactamente que pasa en cada parte de una aplicación y mejorar grandemente nuestra lógica de programación.  Conocer el uso de punteros es esencial en C, lo que hace que sepamos apreciar su lógica de funcionamiento, entendiendo cómo se reserva la memoria, como se libera, su utilización, cómo podemos almacenar la información de distintas maneras, convertir tipos de datos, pasar variables por valor y referencia a funciones, etc.
  • 7. Importancia 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).