SlideShare una empresa de Scribd logo
1 de 9
Universidad Fermín Toro
Facultad de Ingeniería
Estudiante:
Javier A. Paris R.
C.I. 20.539.759
Materia:
Computación para
Ingenieros
C es un lenguaje de programación de propósito general
que ofrece economía sintáctica, control de flujo
y estructuras sencillas y un buen conjunto de
operadores. No es un lenguaje de muy alto nivel y más
bien un lenguaje pequeño, sencillo y no está
especializado en ningún tipo de aplicación. Esto lo hace
un lenguaje potente, con un campo de aplicación
ilimitado y sobre todo, se aprende rápidamente. En
poco tiempo, un programador puede utilizar la totalidad
del lenguaje.
Lenguaje C
La base del C proviene del BCPL, escrito por Martin Richards, y del B
escrito por Ken Thompson en 1970 para el primer sistema UNIX en un DEC
PDP-7. Estos son lenguajes sin tipos, al contrario que el C que proporciona
varios tipos de datos. Los tipos que ofrece son caracteres, números enteros
y en coma flotante, de varios tamaños. Además se pueden crear tipos
derivados mediante la utilización de punteros, vectores, registros y uniones.
El primer compilador de C fue escrito por Dennis Ritchie para un DEC PDP-
11 y escribió el propio sistema operativo en C.
Características
Propiedades:
• 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.
Características
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.
• Funciones anidadas, aunque GCC tiene esta característica como
extensión.
Soporte nativo para programación multihilo.
Funciones
Un programa C está formado por un conjunto de funciones que al menos contiene la
función main. Una función se declara con el nombre de la función precedido del tipo de
valor que retorna y una lista de argumentos encerrados entre paréntesis. El cuerpo de
la función está formado por un conjunto de declaraciones y de sentencias
comprendidas entre llaves. Veamos un ejemplo de utilización de funciones:
#include <stdio.h>
#define VALOR 5
#define FACT 120
int fact_i ( int v )
{
int r = 1, i = 0;
while ( i <= v )
{
r = r * i;
i = i + 1;
}
return r;
}
int fact_r ( int v )
{
if ( v == 0 ) return 1;
else return v * fact_r(v-1);
}
main() {
int r, valor = VALOR;
if ( (r = fact_i(valor)) != fact_r(valor) )
printf("Codificación errónea!!.n");
else if ( r == FACT ) printf("Codificación
correcta.n");
else printf("Algo falla!!.n");
}
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:
es más lento programar en C, sobre todo para el principiante. La razón
estriba en que el compilador de C se limita a traducir código sin apenas
añadir nada. La gestión de la memoria es un ejemplo clásico: en C el
programador ha de reservar y liberar la memoria explícitamente. En otros
lenguajes (como BASIC, Matlab o C#) la memoria es gestionada de
forma transparente para el programador. Esto alivia la carga de trabajo
humano y en muchas ocasiones evita errores, aunque también supone
mayor carga de trabajo para el procesador.
• El mantenimiento en algunos casos puede ser más difícil y costoso que
con ciertos lenguajes de más alto nivel. El código en C se presta a
sentencias cortas y enrevesadas de difícil interpretación[cita requerida].
• Cabe destacar el contexto y época en la que fue desarrollado C. En
aquellos tiempos existían muy pocos programadores, los cuales, a su
vez, eran prácticamente todos expertos en el área. De esta manera, se
asumía que los programadores eran conscientes de sus trabajos y
capaces de manejar perfectamente el lenguaje. Por esta razón es muy
importante que los recién iniciados adopten buenas prácticas a la hora
de escribir en C y manejar la memoria, como por ejemplo un uso
Utilidad
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.
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,
Ejemplos
/* Ejemplo 1. Programa DOCENA.C */
#include <stdio.h>
main ()
{
int docena;
docena = 12;
printf ("Una docena son %d unidadesn", docena);
}
Este programa hace aparecer en pantalla la frase "Una docena son 12
unidades".

Más contenido relacionado

La actualidad más candente

La actualidad más candente (20)

Lenguaje c
Lenguaje cLenguaje c
Lenguaje c
 
Lenguaje c
Lenguaje cLenguaje c
Lenguaje c
 
Lenguaje c josequerales
Lenguaje c josequeralesLenguaje c josequerales
Lenguaje c josequerales
 
Lenguaje de programacion c
Lenguaje de programacion cLenguaje de programacion c
Lenguaje de programacion c
 
Lenguaje de máquina y lenguaje ensamblador
Lenguaje de máquina y lenguaje ensambladorLenguaje de máquina y lenguaje ensamblador
Lenguaje de máquina y lenguaje ensamblador
 
Informe.
Informe.Informe.
Informe.
 
Lenguajes de programaciòn
Lenguajes de programaciònLenguajes de programaciòn
Lenguajes de programaciòn
 
Introducción c++
Introducción c++Introducción c++
Introducción c++
 
Lenguaje de programación c
Lenguaje de programación cLenguaje de programación c
Lenguaje de programación c
 
Mi lenguaje de programación de preferencia
Mi lenguaje de programación de preferenciaMi lenguaje de programación de preferencia
Mi lenguaje de programación de preferencia
 
Plata cabello 2 j cuadro comparativo
Plata cabello 2 j cuadro comparativoPlata cabello 2 j cuadro comparativo
Plata cabello 2 j cuadro comparativo
 
01 - Introducción al lenguaje C
01 - Introducción al lenguaje C01 - Introducción al lenguaje C
01 - Introducción al lenguaje C
 
Programa en lenguaje C, Hildemaro Sequera, MI-42
Programa en lenguaje C, Hildemaro Sequera, MI-42Programa en lenguaje C, Hildemaro Sequera, MI-42
Programa en lenguaje C, Hildemaro Sequera, MI-42
 
Aplicacion de c
Aplicacion de cAplicacion de c
Aplicacion de c
 
Progra.jpg
Progra.jpgProgra.jpg
Progra.jpg
 
Lenguaje C _ C++
Lenguaje C _ C++Lenguaje C _ C++
Lenguaje C _ C++
 
Mi lenguaje de programación de preferencia
Mi lenguaje de programación de preferenciaMi lenguaje de programación de preferencia
Mi lenguaje de programación de preferencia
 
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
 
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
 
Introduccion al lenguaje c
Introduccion al lenguaje cIntroduccion al lenguaje c
Introduccion al lenguaje c
 

Similar a Lenguaje C general y portable

Lenguaje c
Lenguaje cLenguaje c
Lenguaje cwuaro1
 
Lenguaje c.Luis Carrodeguas.16418180
Lenguaje c.Luis Carrodeguas.16418180Lenguaje c.Luis Carrodeguas.16418180
Lenguaje c.Luis Carrodeguas.16418180Luiscarrodeguas
 
Lenguaje c
Lenguaje cLenguaje c
Lenguaje cwuaro1
 
6 lenguajec++
6 lenguajec++6 lenguajec++
6 lenguajec++alithu1
 
Lenguaje c
Lenguaje cLenguaje c
Lenguaje cAle2417
 
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
 
331985319 santaella u5-lenguajedeprogramacionc
331985319 santaella u5-lenguajedeprogramacionc331985319 santaella u5-lenguajedeprogramacionc
331985319 santaella u5-lenguajedeprogramacioncSol Hernández
 
Unidad 5 Lenguaje de Programacion C y C++
Unidad 5 Lenguaje de Programacion C y C++Unidad 5 Lenguaje de Programacion C y C++
Unidad 5 Lenguaje de Programacion C y C++Leany González
 
Reporte de visual c#(jose gonzalo estrada lopez)
Reporte de visual c#(jose gonzalo estrada lopez)Reporte de visual c#(jose gonzalo estrada lopez)
Reporte de visual c#(jose gonzalo estrada lopez)josegonzalo130
 
Compilador e interpretador
Compilador e interpretadorCompilador e interpretador
Compilador e interpretadorFrancisco Leal
 

Similar a Lenguaje C general y portable (20)

Lenguaje c
Lenguaje cLenguaje c
Lenguaje c
 
Lenguaje c.Luis Carrodeguas.16418180
Lenguaje c.Luis Carrodeguas.16418180Lenguaje c.Luis Carrodeguas.16418180
Lenguaje c.Luis Carrodeguas.16418180
 
Lenguaje c
Lenguaje cLenguaje c
Lenguaje c
 
Lenguaje de programación c
Lenguaje de programación cLenguaje de programación c
Lenguaje de programación c
 
6 lenguajec++
6 lenguajec++6 lenguajec++
6 lenguajec++
 
Lenguaje c
Lenguaje cLenguaje c
Lenguaje c
 
Pul123
Pul123Pul123
Pul123
 
Programacion
ProgramacionProgramacion
Programacion
 
Unidad 3
Unidad 3Unidad 3
Unidad 3
 
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++
 
Santaella u5 Lenguaje C++
Santaella u5 Lenguaje C++Santaella u5 Lenguaje C++
Santaella u5 Lenguaje C++
 
331985319 santaella u5-lenguajedeprogramacionc
331985319 santaella u5-lenguajedeprogramacionc331985319 santaella u5-lenguajedeprogramacionc
331985319 santaella u5-lenguajedeprogramacionc
 
Unidad 5 Lenguaje de Programacion C y C++
Unidad 5 Lenguaje de Programacion C y C++Unidad 5 Lenguaje de Programacion C y C++
Unidad 5 Lenguaje de Programacion C y C++
 
Reporte de visual c#(jose gonzalo estrada lopez)
Reporte de visual c#(jose gonzalo estrada lopez)Reporte de visual c#(jose gonzalo estrada lopez)
Reporte de visual c#(jose gonzalo estrada lopez)
 
Lenguaje c 1
Lenguaje c 1Lenguaje c 1
Lenguaje c 1
 
Exposicion de c.
Exposicion de c.Exposicion de c.
Exposicion de c.
 
actividad 4
actividad 4actividad 4
actividad 4
 
Caract
CaractCaract
Caract
 
Caract
CaractCaract
Caract
 
Compilador e interpretador
Compilador e interpretadorCompilador e interpretador
Compilador e interpretador
 

Más de Javier Paris

Avances de la higiene y seguridad industrial - Javier Paris
Avances de la higiene y seguridad industrial - Javier ParisAvances de la higiene y seguridad industrial - Javier Paris
Avances de la higiene y seguridad industrial - Javier ParisJavier Paris
 
Supervision y planeacion
Supervision y planeacionSupervision y planeacion
Supervision y planeacionJavier Paris
 
Asignación 3 - Gestion Empresarial
Asignación 3 - Gestion EmpresarialAsignación 3 - Gestion Empresarial
Asignación 3 - Gestion EmpresarialJavier Paris
 
Respuesta en frecuencia Javier Paris
Respuesta en frecuencia Javier ParisRespuesta en frecuencia Javier Paris
Respuesta en frecuencia Javier ParisJavier Paris
 
Diseño de Filtros Javier Paris
Diseño de Filtros Javier ParisDiseño de Filtros Javier Paris
Diseño de Filtros Javier ParisJavier Paris
 
INVESTIGACIÓN DE OPERACIONES-MARY VERA
INVESTIGACIÓN DE OPERACIONES-MARY VERAINVESTIGACIÓN DE OPERACIONES-MARY VERA
INVESTIGACIÓN DE OPERACIONES-MARY VERAJavier Paris
 
Javier paris - Investigación de Operaciones
Javier paris - Investigación de OperacionesJavier paris - Investigación de Operaciones
Javier paris - Investigación de OperacionesJavier Paris
 
Lineas de investigación UFT
Lineas de investigación UFTLineas de investigación UFT
Lineas de investigación UFTJavier Paris
 
Plan de negocios para la micro, pequeña y mediana empresa
Plan de negocios para la micro, pequeña y mediana empresaPlan de negocios para la micro, pequeña y mediana empresa
Plan de negocios para la micro, pequeña y mediana empresaJavier Paris
 
Economía javier_paris
Economía javier_paris Economía javier_paris
Economía javier_paris Javier Paris
 

Más de Javier Paris (11)

Avances de la higiene y seguridad industrial - Javier Paris
Avances de la higiene y seguridad industrial - Javier ParisAvances de la higiene y seguridad industrial - Javier Paris
Avances de la higiene y seguridad industrial - Javier Paris
 
Supervision y planeacion
Supervision y planeacionSupervision y planeacion
Supervision y planeacion
 
Asignación 3 - Gestion Empresarial
Asignación 3 - Gestion EmpresarialAsignación 3 - Gestion Empresarial
Asignación 3 - Gestion Empresarial
 
Respuesta en frecuencia Javier Paris
Respuesta en frecuencia Javier ParisRespuesta en frecuencia Javier Paris
Respuesta en frecuencia Javier Paris
 
Diseño de Filtros Javier Paris
Diseño de Filtros Javier ParisDiseño de Filtros Javier Paris
Diseño de Filtros Javier Paris
 
INVESTIGACIÓN DE OPERACIONES-MARY VERA
INVESTIGACIÓN DE OPERACIONES-MARY VERAINVESTIGACIÓN DE OPERACIONES-MARY VERA
INVESTIGACIÓN DE OPERACIONES-MARY VERA
 
Javier paris - Investigación de Operaciones
Javier paris - Investigación de OperacionesJavier paris - Investigación de Operaciones
Javier paris - Investigación de Operaciones
 
Lenguaje c
Lenguaje cLenguaje c
Lenguaje c
 
Lineas de investigación UFT
Lineas de investigación UFTLineas de investigación UFT
Lineas de investigación UFT
 
Plan de negocios para la micro, pequeña y mediana empresa
Plan de negocios para la micro, pequeña y mediana empresaPlan de negocios para la micro, pequeña y mediana empresa
Plan de negocios para la micro, pequeña y mediana empresa
 
Economía javier_paris
Economía javier_paris Economía javier_paris
Economía javier_paris
 

Último

Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxJOSEMANUELHERNANDEZH11
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudianteAndreaHuertas24
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesFundación YOD YOD
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxpabonheidy28
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024GiovanniJavierHidalg
 

Último (16)

Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptx
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento Protégeles
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docx
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024
 

Lenguaje C general y portable

  • 1. Universidad Fermín Toro Facultad de Ingeniería Estudiante: Javier A. Paris R. C.I. 20.539.759 Materia: Computación para Ingenieros
  • 2. C es un lenguaje de programación de propósito general que ofrece economía sintáctica, control de flujo y estructuras sencillas y un buen conjunto de operadores. No es un lenguaje de muy alto nivel y más bien un lenguaje pequeño, sencillo y no está especializado en ningún tipo de aplicación. Esto lo hace un lenguaje potente, con un campo de aplicación ilimitado y sobre todo, se aprende rápidamente. En poco tiempo, un programador puede utilizar la totalidad del lenguaje. Lenguaje C La base del C proviene del BCPL, escrito por Martin Richards, y del B escrito por Ken Thompson en 1970 para el primer sistema UNIX en un DEC PDP-7. Estos son lenguajes sin tipos, al contrario que el C que proporciona varios tipos de datos. Los tipos que ofrece son caracteres, números enteros y en coma flotante, de varios tamaños. Además se pueden crear tipos derivados mediante la utilización de punteros, vectores, registros y uniones. El primer compilador de C fue escrito por Dennis Ritchie para un DEC PDP- 11 y escribió el propio sistema operativo en C.
  • 3. Características Propiedades: • 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.
  • 4. Características 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. • Funciones anidadas, aunque GCC tiene esta característica como extensión. Soporte nativo para programación multihilo.
  • 5. Funciones Un programa C está formado por un conjunto de funciones que al menos contiene la función main. Una función se declara con el nombre de la función precedido del tipo de valor que retorna y una lista de argumentos encerrados entre paréntesis. El cuerpo de la función está formado por un conjunto de declaraciones y de sentencias comprendidas entre llaves. Veamos un ejemplo de utilización de funciones: #include <stdio.h> #define VALOR 5 #define FACT 120 int fact_i ( int v ) { int r = 1, i = 0; while ( i <= v ) { r = r * i; i = i + 1; } return r; } int fact_r ( int v ) { if ( v == 0 ) return 1; else return v * fact_r(v-1); } main() { int r, valor = VALOR; if ( (r = fact_i(valor)) != fact_r(valor) ) printf("Codificación errónea!!.n"); else if ( r == FACT ) printf("Codificación correcta.n"); else printf("Algo falla!!.n"); }
  • 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.
  • 7. 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: es más lento programar en C, sobre todo para el principiante. La razón estriba en que el compilador de C se limita a traducir código sin apenas añadir nada. La gestión de la memoria es un ejemplo clásico: en C el programador ha de reservar y liberar la memoria explícitamente. En otros lenguajes (como BASIC, Matlab o C#) la memoria es gestionada de forma transparente para el programador. Esto alivia la carga de trabajo humano y en muchas ocasiones evita errores, aunque también supone mayor carga de trabajo para el procesador. • El mantenimiento en algunos casos puede ser más difícil y costoso que con ciertos lenguajes de más alto nivel. El código en C se presta a sentencias cortas y enrevesadas de difícil interpretación[cita requerida]. • Cabe destacar el contexto y época en la que fue desarrollado C. En aquellos tiempos existían muy pocos programadores, los cuales, a su vez, eran prácticamente todos expertos en el área. De esta manera, se asumía que los programadores eran conscientes de sus trabajos y capaces de manejar perfectamente el lenguaje. Por esta razón es muy importante que los recién iniciados adopten buenas prácticas a la hora de escribir en C y manejar la memoria, como por ejemplo un uso
  • 8. Utilidad 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. 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,
  • 9. Ejemplos /* Ejemplo 1. Programa DOCENA.C */ #include <stdio.h> main () { int docena; docena = 12; printf ("Una docena son %d unidadesn", docena); } Este programa hace aparecer en pantalla la frase "Una docena son 12 unidades".