SlideShare una empresa de Scribd logo
1 de 7
Descargar para leer sin conexión
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

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 gonzalezHebert Gonzalez
 
Programacion
ProgramacionProgramacion
ProgramacionDAYIS14
 
Lenguaje c ibeth lozada
Lenguaje c ibeth lozadaLenguaje c ibeth lozada
Lenguaje c ibeth lozadaAdrianaYepezM
 
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 Cgrecia 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ónGuissela Guerrero
 
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 cwuaro1
 
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
 
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 cAle2417
 
Lenguaje C++
Lenguaje C++Lenguaje C++
Lenguaje C++AlfaBVB98
 
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

La Función tecnológica del tutor.pptx
La  Función  tecnológica  del tutor.pptxLa  Función  tecnológica  del tutor.pptx
La Función tecnológica del tutor.pptxJunkotantik
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.amayarogel
 
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxOLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxjosetrinidadchavez
 
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...JAVIER SOLIS NOYOLA
 
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
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónLourdes Feria
 
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxzulyvero07
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxAna Fernandez
 
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
 
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADODECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADOJosé Luis Palma
 
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
 
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
 
Herramientas de Inteligencia Artificial.pdf
Herramientas de Inteligencia Artificial.pdfHerramientas de Inteligencia Artificial.pdf
Herramientas de Inteligencia Artificial.pdfMARIAPAULAMAHECHAMOR
 
Heinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoHeinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoFundación YOD YOD
 
Neurociencias para Educadores NE24 Ccesa007.pdf
Neurociencias para Educadores  NE24  Ccesa007.pdfNeurociencias para Educadores  NE24  Ccesa007.pdf
Neurociencias para Educadores NE24 Ccesa007.pdfDemetrio Ccesa Rayme
 
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARONARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFAROJosé Luis Palma
 
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
 
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
 
programa dia de las madres 10 de mayo para evento
programa dia de las madres 10 de mayo  para eventoprograma dia de las madres 10 de mayo  para evento
programa dia de las madres 10 de mayo para eventoDiegoMtsS
 

Último (20)

La Función tecnológica del tutor.pptx
La  Función  tecnológica  del tutor.pptxLa  Función  tecnológica  del tutor.pptx
La Función tecnológica del tutor.pptx
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.
 
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxOLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
 
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
 
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
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcción
 
Power Point: "Defendamos la verdad".pptx
Power Point: "Defendamos la verdad".pptxPower Point: "Defendamos la verdad".pptx
Power Point: "Defendamos la verdad".pptx
 
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docx
 
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
 
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADODECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
 
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
 
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
 
Herramientas de Inteligencia Artificial.pdf
Herramientas de Inteligencia Artificial.pdfHerramientas de Inteligencia Artificial.pdf
Herramientas de Inteligencia Artificial.pdf
 
Heinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoHeinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativo
 
Neurociencias para Educadores NE24 Ccesa007.pdf
Neurociencias para Educadores  NE24  Ccesa007.pdfNeurociencias para Educadores  NE24  Ccesa007.pdf
Neurociencias para Educadores NE24 Ccesa007.pdf
 
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARONARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
 
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
 
2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf
 
programa dia de las madres 10 de mayo para evento
programa dia de las madres 10 de mayo  para eventoprograma dia de las madres 10 de mayo  para evento
programa dia de las madres 10 de mayo para evento
 

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).