SlideShare une entreprise Scribd logo
1  sur  4
Lenguaje de Programación C.
C es un lenguaje de programación creado en 1972 por Dennis M. Ritchie en
los Laboratorios Bell como evolución del anterior es decir el 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 débilmente tipificado de medio nivel pero con
muchas características de bajo nivel. 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.

La primera estandarización del lenguaje C fue en ANSI, con el estándar
X3.159-1989. El lenguaje que define este estándar fue conocido
vulgarmente como ANSI C. Posteriormente, en 1990, fue ratificado como
estándar ISO (ISO/IEC 9899:1990). La adopción de este estándar es muy
amplia por lo que, si los programas creados lo siguen, el código es portátil
entre plataformas y/o arquitecturas. En la práctica, los programadores
suelen usar elementos no-portátiles dependientes del compilador o del
sistema operativo.




Aplicaciones.
Hecho principalmente para la fluidez de programación en sistemas UNIX.
Se usa también para el desarrollo de otros sistemas operativos como
Windows o Linux. Igualmente para aplicaciones de escritorio como
OpenOffice.org, cuyo principal lenguaje de programación es C.
De la misma forma, es muy usado en aplicaciones científicas (para
experimentos informáticos, físicos, químicos, matemáticos, entre otros,
parte de ellos conocidos como modelos y simuladores), industriales
(industria robótica, cibernética, sistemas de información y base de datos
para la industria petrolera y petroquímica.
Predominan también todo lo que se refiere a simulación de máquinas de
manufactura), simulaciones de vuelo (es la más delicada, ya que se tienen
que usar demasiados recursos tanto de hardware como de software para
desarrollar aplicaciones que permitan simular el vuelo real de una aeronave.
Se aplica por tanto, en diversas áreas desconocidas por gran parte de los
usuarios noveles.
Los ordenadores de finales de los 90 son varios órdenes de magnitud más
potentes que las máquinas en que C se desarrolló originalmente. Programas
escritos en lenguajes de tipo dinámico y fácil codificación (Ruby, Python,
Perl...) que antaño hubieran resultado demasiado lentos, son lo bastante
rápidos como para desplazar en uso a C. Aun así, se puede seguir
encontrando código C en grandes desarrollos de animaciones, modelados y
escenas en 3D en películas y otras aplicaciones multimedia.
Actualmente, los grandes proyectos de software se dividen en partes,
dentro de un equipo de desarrollo. Aquellas partes que son más
"burocráticas" o "de gestión" con los recursos del sistema, se suelen
realizar en lenguajes de tipo dinámico o de guión (script), mientras que
aquellas partes "críticas", por su necesidad de rapidez de ejecución, se
realizan en un lenguaje de tipo compilado, como C o C++. Si, después de
hacer la división, las partes críticas no superan un cierto porcentaje del
total (aproximadamente el 10%) entonces todo el desarrollo se realiza con
lenguajes dinámicos. Si la parte crítica no llega a cumplir las expectativas
del proyecto, se comparan las alternativas de una inversión en nuevo
hardware frente a invertir en el coste de un programador para que
reescriba dicha parte crítica.


Aplicaciones embebidas
C es el lenguaje común para programar sistemas embebidos. El código ligero
que un compilador C genera, combinado con la capacidad de acceso capas del
software cercanas al hardware son la causa de su popularidad en estas
aplicaciones.
Un característica donde C demuestra comodidad de uso particularmente
valiosa en sistemas embebidos es la manipulación de bits. Los sistemas
contienen registros mapeados en memoria (en inglés, MMR) a través de los
cuales los periféricos se configuran. Estos registros mezclan varias
configuraciones en la misma dirección de memoria, aunque en bits distintos.
Con C es posible modificar fácilmente uno de estos bits sin alterar el resto.
Por ejemplo:
int *mmr; /* puntero al registro que queremos modificar */
mmr = 0x40008ABC; /* dirección de memoria del registro */

* mmr |= 1<<7; /* pone a 1 el bit 7 sin modificar los demás */
* mmr &= ~(1<<12) /* pone a 0 el bit 12 sin modificar los demás */
Este tipo de manipulación es muy tediosa o sencillamente imposible en otros
lenguajes de alto nivel.
Otras características de C consideradas desventajas en la programación
para PC -como la ausencia de control de memoria automático- se convierten
en ventajas cuando los sistemas embebidos necesitan código pequeño y
optimizado. Ese es el caso de los sistemas basados en microcontroladores
de poca potencia como el intel 8051 o muchos sistemas ARM.



Códigos.
La compilación de un programa C se realiza en varias fases que normalmente
son automatizadas y ocultadas por los entornos de desarrollo:

   1. Preprocesado consistente en modificar el código fuente en C según
      una serie de instrucciones (denominadas directivas de preprocesado)
      simplificando de esta forma el trabajo del compilador. Por ejemplo,
      una de las acciones más importantes es la modificación de las
      inclusiones (#include) por las declaraciones reales existentes en el
      archivo indicado.
   2. Compilación que genera el código objeto a partir del código ya
      preprocesado.
   3. Enlazado que une los códigos objeto de los distintos módulos y
      bibliotecas externas (como las bibliotecas del sistema) para generar
      el programa ejecutable final.




Ejemplo de código
El siguiente programa imprime en pantalla la frase "Hola Mundo" (C99).
# include <stdio.h> // necesario para utilizar printf()
int main(void)
{
         printf("Hola Mundon");
         // return 0 implícito en C99 para main().
}
El siguiente escribe "Hola Mundo" en C89
/* comentarios con '//' no permitidos en C89, sí en C99 */
# include <stdio.h> /* necesario para utilizar printf */

main() /* tipo 'int' de retorno implícito */
{
        printf ("Hola Mundon") ;
        return 0;
}


Programas.
Ejemplos.

Vala, C#, Objective-C, C++, AWK, bc, Java

Contenu connexe

Tendances

Historia de los compiladores
Historia de los compiladoresHistoria de los compiladores
Historia de los compiladoresAlex Toapanta
 
HISTORIA DEL LENGUAJE DE PROGRAMACIÓN C++
HISTORIA DEL LENGUAJE DE PROGRAMACIÓN C++HISTORIA DEL LENGUAJE DE PROGRAMACIÓN C++
HISTORIA DEL LENGUAJE DE PROGRAMACIÓN C++DarioManzano
 
PRESENTACION LENGUAJE C
 PRESENTACION LENGUAJE C  PRESENTACION LENGUAJE C
PRESENTACION LENGUAJE C Niel Velasquez
 
Mi lenguaje de programación de preferencia c++
Mi lenguaje de programación de preferencia c++Mi lenguaje de programación de preferencia c++
Mi lenguaje de programación de preferencia c++bastard1
 
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-42Hildemaro Sequera
 
Historia y caracteristicas del lenguaje c opt
Historia y caracteristicas del lenguaje c optHistoria y caracteristicas del lenguaje c opt
Historia y caracteristicas del lenguaje c optMarvin Romero
 
Resolucion de problemas y algoritmos
Resolucion de problemas y algoritmosResolucion de problemas y algoritmos
Resolucion de problemas y algoritmosmiguelskillet
 
Introduccion al lenguaje_c
Introduccion al lenguaje_cIntroduccion al lenguaje_c
Introduccion al lenguaje_cNelson1914
 
Historia del C++ y JAVA
Historia del C++ y JAVAHistoria del C++ y JAVA
Historia del C++ y JAVANohemi Cuesta
 
6 lenguajec++
6 lenguajec++6 lenguajec++
6 lenguajec++alithu1
 
Breve Historia de C/C/++
Breve Historia de C/C/++Breve Historia de C/C/++
Breve Historia de C/C/++Luna Hermes
 
Qué es el lenguaje c
Qué es el lenguaje cQué es el lenguaje c
Qué es el lenguaje cevelynabigail
 

Tendances (20)

Historia de los compiladores
Historia de los compiladoresHistoria de los compiladores
Historia de los compiladores
 
HISTORIA DEL LENGUAJE DE PROGRAMACIÓN C++
HISTORIA DEL LENGUAJE DE PROGRAMACIÓN C++HISTORIA DEL LENGUAJE DE PROGRAMACIÓN C++
HISTORIA DEL LENGUAJE DE PROGRAMACIÓN C++
 
Programacion 1 feli
Programacion 1 feliProgramacion 1 feli
Programacion 1 feli
 
01 - Introducción al lenguaje C
01 - Introducción al lenguaje C01 - Introducción al lenguaje C
01 - Introducción al lenguaje C
 
Lenguaje c
Lenguaje cLenguaje c
Lenguaje c
 
1 estructura programa-c
1 estructura programa-c1 estructura programa-c
1 estructura programa-c
 
PRESENTACION LENGUAJE C
 PRESENTACION LENGUAJE C  PRESENTACION LENGUAJE C
PRESENTACION LENGUAJE C
 
2 estructura programa-c
2 estructura programa-c2 estructura programa-c
2 estructura programa-c
 
Mi lenguaje de programación de preferencia c++
Mi lenguaje de programación de preferencia c++Mi lenguaje de programación de preferencia c++
Mi lenguaje de programación de preferencia c++
 
Lenguaje PHP
Lenguaje PHPLenguaje PHP
Lenguaje PHP
 
11
1111
11
 
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
 
Historia y caracteristicas del lenguaje c opt
Historia y caracteristicas del lenguaje c optHistoria y caracteristicas del lenguaje c opt
Historia y caracteristicas del lenguaje c opt
 
Resolucion de problemas y algoritmos
Resolucion de problemas y algoritmosResolucion de problemas y algoritmos
Resolucion de problemas y algoritmos
 
Lenguaje c
Lenguaje cLenguaje c
Lenguaje c
 
Introduccion al lenguaje_c
Introduccion al lenguaje_cIntroduccion al lenguaje_c
Introduccion al lenguaje_c
 
Historia del C++ y JAVA
Historia del C++ y JAVAHistoria del C++ y JAVA
Historia del C++ y JAVA
 
6 lenguajec++
6 lenguajec++6 lenguajec++
6 lenguajec++
 
Breve Historia de C/C/++
Breve Historia de C/C/++Breve Historia de C/C/++
Breve Historia de C/C/++
 
Qué es el lenguaje c
Qué es el lenguaje cQué es el lenguaje c
Qué es el lenguaje c
 

Similaire à Lenguaje De ProgramacióN C

Similaire à Lenguaje De ProgramacióN C (20)

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)
 
Programacion ii modulo2-leccion1
Programacion ii modulo2-leccion1Programacion ii modulo2-leccion1
Programacion ii modulo2-leccion1
 
Diseño de Algoritmos
 Diseño de Algoritmos Diseño de Algoritmos
Diseño de Algoritmos
 
Presentación lenguajedeprogramacion
Presentación lenguajedeprogramacionPresentación lenguajedeprogramacion
Presentación lenguajedeprogramacion
 
Pul123
Pul123Pul123
Pul123
 
Lenguaje c nardy y daniela
Lenguaje c nardy y danielaLenguaje c nardy y daniela
Lenguaje c nardy y daniela
 
Informe.
Informe.Informe.
Informe.
 
Aplicacion de c
Aplicacion de cAplicacion de c
Aplicacion de c
 
Lenguaje c
Lenguaje cLenguaje c
Lenguaje c
 
Lenguaje c
Lenguaje cLenguaje c
Lenguaje c
 
Unidad 3
Unidad 3Unidad 3
Unidad 3
 
Lenguaje c++
Lenguaje c++Lenguaje c++
Lenguaje c++
 
Karen y Vivian
Karen y VivianKaren y Vivian
Karen y Vivian
 
Lenguaje C
Lenguaje CLenguaje C
Lenguaje C
 
Tema 1 Programación I. 05-02-23.pdf
Tema 1 Programación I. 05-02-23.pdfTema 1 Programación I. 05-02-23.pdf
Tema 1 Programación I. 05-02-23.pdf
 
Programacion 1 feli
Programacion 1 feliProgramacion 1 feli
Programacion 1 feli
 
Unidad 3
Unidad 3Unidad 3
Unidad 3
 
Lenguje c.PRESENTACION
Lenguje c.PRESENTACIONLenguje c.PRESENTACION
Lenguje c.PRESENTACION
 
Reconocimiento de voz c#
Reconocimiento de voz c#Reconocimiento de voz c#
Reconocimiento de voz c#
 
2 intcomp milexisromero
2 intcomp milexisromero2 intcomp milexisromero
2 intcomp milexisromero
 

Plus de jengibre

Sabrositas-Organizacion.Modernizacion.
Sabrositas-Organizacion.Modernizacion.Sabrositas-Organizacion.Modernizacion.
Sabrositas-Organizacion.Modernizacion.jengibre
 
Sistema Experto
Sistema ExpertoSistema Experto
Sistema Expertojengibre
 
PráCtica Numero 8
PráCtica Numero 8PráCtica Numero 8
PráCtica Numero 8jengibre
 
Practica NúMero 7
Practica NúMero 7Practica NúMero 7
Practica NúMero 7jengibre
 
Practica NúMero 6
Practica NúMero 6Practica NúMero 6
Practica NúMero 6jengibre
 
Practica NúMero 5
Practica NúMero 5Practica NúMero 5
Practica NúMero 5jengibre
 
PráCtica Numero 4
PráCtica Numero 4PráCtica Numero 4
PráCtica Numero 4jengibre
 
PráCtica 3
PráCtica 3PráCtica 3
PráCtica 3jengibre
 
Componentes Internos De Un Cpu
Componentes Internos De Un CpuComponentes Internos De Un Cpu
Componentes Internos De Un Cpujengibre
 
Empresa.♣
Empresa.♣Empresa.♣
Empresa.♣jengibre
 
Empresa.♦
Empresa.♦Empresa.♦
Empresa.♦jengibre
 
Empresa.♥♥
Empresa.♥♥Empresa.♥♥
Empresa.♥♥jengibre
 
Base De Datos♥
Base De Datos♥Base De Datos♥
Base De Datos♥jengibre
 
Base De Datos
Base De DatosBase De Datos
Base De Datosjengibre
 
Sistemas AutÓmatas.
Sistemas AutÓmatas.Sistemas AutÓmatas.
Sistemas AutÓmatas.jengibre
 
COmpuertas LÓgicas.
COmpuertas LÓgicas.COmpuertas LÓgicas.
COmpuertas LÓgicas.jengibre
 
Empresa.♥
Empresa.♥Empresa.♥
Empresa.♥jengibre
 
Lenguajes de ProgramacióN♥
Lenguajes de ProgramacióN♥Lenguajes de ProgramacióN♥
Lenguajes de ProgramacióN♥jengibre
 
Lenguajes de PrOgramaciÓn.
Lenguajes de PrOgramaciÓn.Lenguajes de PrOgramaciÓn.
Lenguajes de PrOgramaciÓn.jengibre
 

Plus de jengibre (20)

Sabrositas-Organizacion.Modernizacion.
Sabrositas-Organizacion.Modernizacion.Sabrositas-Organizacion.Modernizacion.
Sabrositas-Organizacion.Modernizacion.
 
Sistema Experto
Sistema ExpertoSistema Experto
Sistema Experto
 
PráCtica Numero 8
PráCtica Numero 8PráCtica Numero 8
PráCtica Numero 8
 
Practica NúMero 7
Practica NúMero 7Practica NúMero 7
Practica NúMero 7
 
Practica NúMero 6
Practica NúMero 6Practica NúMero 6
Practica NúMero 6
 
Practica NúMero 5
Practica NúMero 5Practica NúMero 5
Practica NúMero 5
 
PráCtica Numero 4
PráCtica Numero 4PráCtica Numero 4
PráCtica Numero 4
 
PráCtica 3
PráCtica 3PráCtica 3
PráCtica 3
 
MS-DOS.
MS-DOS.MS-DOS.
MS-DOS.
 
Componentes Internos De Un Cpu
Componentes Internos De Un CpuComponentes Internos De Un Cpu
Componentes Internos De Un Cpu
 
Empresa.♣
Empresa.♣Empresa.♣
Empresa.♣
 
Empresa.♦
Empresa.♦Empresa.♦
Empresa.♦
 
Empresa.♥♥
Empresa.♥♥Empresa.♥♥
Empresa.♥♥
 
Base De Datos♥
Base De Datos♥Base De Datos♥
Base De Datos♥
 
Base De Datos
Base De DatosBase De Datos
Base De Datos
 
Sistemas AutÓmatas.
Sistemas AutÓmatas.Sistemas AutÓmatas.
Sistemas AutÓmatas.
 
COmpuertas LÓgicas.
COmpuertas LÓgicas.COmpuertas LÓgicas.
COmpuertas LÓgicas.
 
Empresa.♥
Empresa.♥Empresa.♥
Empresa.♥
 
Lenguajes de ProgramacióN♥
Lenguajes de ProgramacióN♥Lenguajes de ProgramacióN♥
Lenguajes de ProgramacióN♥
 
Lenguajes de PrOgramaciÓn.
Lenguajes de PrOgramaciÓn.Lenguajes de PrOgramaciÓn.
Lenguajes de PrOgramaciÓn.
 

Dernier

Guía de actividades y rúbrica de evaluación - Unidad 3 - Escenario 4 - Rol de...
Guía de actividades y rúbrica de evaluación - Unidad 3 - Escenario 4 - Rol de...Guía de actividades y rúbrica de evaluación - Unidad 3 - Escenario 4 - Rol de...
Guía de actividades y rúbrica de evaluación - Unidad 3 - Escenario 4 - Rol de...MayerlyAscanioNavarr
 
PDU - PLAN DE DESARROLLO URBANO DE LA CIUDAD DE CHICLAYO
PDU - PLAN DE DESARROLLO URBANO DE LA CIUDAD DE CHICLAYOPDU - PLAN DE DESARROLLO URBANO DE LA CIUDAD DE CHICLAYO
PDU - PLAN DE DESARROLLO URBANO DE LA CIUDAD DE CHICLAYOManuelBustamante49
 
APORTES Y CARACTERISTICAS DE LAS OBRAS DE CORBUSIER. MIES VAN DER ROHE
APORTES Y CARACTERISTICAS DE LAS OBRAS DE  CORBUSIER. MIES VAN DER ROHEAPORTES Y CARACTERISTICAS DE LAS OBRAS DE  CORBUSIER. MIES VAN DER ROHE
APORTES Y CARACTERISTICAS DE LAS OBRAS DE CORBUSIER. MIES VAN DER ROHEgonzalezdfidelibus
 
Presentación Proyecto Vintage Scrapbook Marrón (1).pdf
Presentación Proyecto Vintage Scrapbook Marrón (1).pdfPresentación Proyecto Vintage Scrapbook Marrón (1).pdf
Presentación Proyecto Vintage Scrapbook Marrón (1).pdfAdrianaCarolinaMoral2
 
Geometrías de la imaginación: Diseño e iconografía de Querétaro
Geometrías de la imaginación: Diseño e iconografía de QuerétaroGeometrías de la imaginación: Diseño e iconografía de Querétaro
Geometrías de la imaginación: Diseño e iconografía de QuerétaroJuan Carlos Fonseca Mata
 
diseño de plantas agroindustriales unidad
diseño de plantas agroindustriales unidaddiseño de plantas agroindustriales unidad
diseño de plantas agroindustriales unidaddabuitragoi
 
Torre 222 sobre instalaciones de este mismo edificio
Torre 222 sobre instalaciones de este mismo edificioTorre 222 sobre instalaciones de este mismo edificio
Torre 222 sobre instalaciones de este mismo edificio2021ArqROLDANBERNALD
 
Jesus Diaz afiche Manierismo .pdf arquitectura
Jesus Diaz afiche Manierismo .pdf arquitecturaJesus Diaz afiche Manierismo .pdf arquitectura
Jesus Diaz afiche Manierismo .pdf arquitecturajesusgrosales12
 
Presentacion de 100 psicologos dijeron.pptx
Presentacion de 100 psicologos dijeron.pptxPresentacion de 100 psicologos dijeron.pptx
Presentacion de 100 psicologos dijeron.pptxbarbaracantuflr
 
Diseño de sifones y alcantarillas para obras hidraulicas
Diseño de sifones y alcantarillas para obras hidraulicasDiseño de sifones y alcantarillas para obras hidraulicas
Diseño de sifones y alcantarillas para obras hidraulicasRiegosVeracruz
 
Le Corbusier y Mies van der Rohe: Aportes a la Arquitectura Moderna
Le Corbusier y Mies van der Rohe: Aportes a la Arquitectura ModernaLe Corbusier y Mies van der Rohe: Aportes a la Arquitectura Moderna
Le Corbusier y Mies van der Rohe: Aportes a la Arquitectura Modernasofpaolpz
 
Arquitectura Moderna Walter Gropius- Frank Lloyd Wright
Arquitectura Moderna  Walter Gropius- Frank Lloyd WrightArquitectura Moderna  Walter Gropius- Frank Lloyd Wright
Arquitectura Moderna Walter Gropius- Frank Lloyd Wrightimariagsg
 
Brochure Tuna Haus _ Hecho para mascotas.pdf
Brochure Tuna Haus _ Hecho para mascotas.pdfBrochure Tuna Haus _ Hecho para mascotas.pdf
Brochure Tuna Haus _ Hecho para mascotas.pdfhellotunahaus
 
plantilla-de-messi-1.pdf es muy especial
plantilla-de-messi-1.pdf es muy especialplantilla-de-messi-1.pdf es muy especial
plantilla-de-messi-1.pdf es muy especialAndreaMlaga1
 
Normas de convivencia para imprimir gratis
Normas de convivencia para imprimir gratisNormas de convivencia para imprimir gratis
Normas de convivencia para imprimir gratisbrasilyamile
 
Proceso de percepción visual y de reconocimiento
Proceso de percepción visual y de reconocimientoProceso de percepción visual y de reconocimiento
Proceso de percepción visual y de reconocimientoJorge Fernandez
 
Espacios únicos creados por nuestros clientes
Espacios únicos creados por nuestros clientesEspacios únicos creados por nuestros clientes
Espacios únicos creados por nuestros clientesespejosflorida
 
CERTIFICACIÓN DE CAPACITACIÓN PARA EL CENSO - tfdxwBRz6f3AP7QU.pdf
CERTIFICACIÓN DE CAPACITACIÓN PARA EL CENSO - tfdxwBRz6f3AP7QU.pdfCERTIFICACIÓN DE CAPACITACIÓN PARA EL CENSO - tfdxwBRz6f3AP7QU.pdf
CERTIFICACIÓN DE CAPACITACIÓN PARA EL CENSO - tfdxwBRz6f3AP7QU.pdfasnsdt
 

Dernier (20)

Arte textil: Tejidos artesanos en la frontera hispano-lusa
Arte textil: Tejidos artesanos en la frontera hispano-lusaArte textil: Tejidos artesanos en la frontera hispano-lusa
Arte textil: Tejidos artesanos en la frontera hispano-lusa
 
Guía de actividades y rúbrica de evaluación - Unidad 3 - Escenario 4 - Rol de...
Guía de actividades y rúbrica de evaluación - Unidad 3 - Escenario 4 - Rol de...Guía de actividades y rúbrica de evaluación - Unidad 3 - Escenario 4 - Rol de...
Guía de actividades y rúbrica de evaluación - Unidad 3 - Escenario 4 - Rol de...
 
PDU - PLAN DE DESARROLLO URBANO DE LA CIUDAD DE CHICLAYO
PDU - PLAN DE DESARROLLO URBANO DE LA CIUDAD DE CHICLAYOPDU - PLAN DE DESARROLLO URBANO DE LA CIUDAD DE CHICLAYO
PDU - PLAN DE DESARROLLO URBANO DE LA CIUDAD DE CHICLAYO
 
APORTES Y CARACTERISTICAS DE LAS OBRAS DE CORBUSIER. MIES VAN DER ROHE
APORTES Y CARACTERISTICAS DE LAS OBRAS DE  CORBUSIER. MIES VAN DER ROHEAPORTES Y CARACTERISTICAS DE LAS OBRAS DE  CORBUSIER. MIES VAN DER ROHE
APORTES Y CARACTERISTICAS DE LAS OBRAS DE CORBUSIER. MIES VAN DER ROHE
 
Presentación Proyecto Vintage Scrapbook Marrón (1).pdf
Presentación Proyecto Vintage Scrapbook Marrón (1).pdfPresentación Proyecto Vintage Scrapbook Marrón (1).pdf
Presentación Proyecto Vintage Scrapbook Marrón (1).pdf
 
Geometrías de la imaginación: Diseño e iconografía de Querétaro
Geometrías de la imaginación: Diseño e iconografía de QuerétaroGeometrías de la imaginación: Diseño e iconografía de Querétaro
Geometrías de la imaginación: Diseño e iconografía de Querétaro
 
diseño de plantas agroindustriales unidad
diseño de plantas agroindustriales unidaddiseño de plantas agroindustriales unidad
diseño de plantas agroindustriales unidad
 
Torre 222 sobre instalaciones de este mismo edificio
Torre 222 sobre instalaciones de este mismo edificioTorre 222 sobre instalaciones de este mismo edificio
Torre 222 sobre instalaciones de este mismo edificio
 
1.La locomoción de los seres vivos diseño
1.La locomoción de los seres vivos diseño1.La locomoción de los seres vivos diseño
1.La locomoción de los seres vivos diseño
 
Jesus Diaz afiche Manierismo .pdf arquitectura
Jesus Diaz afiche Manierismo .pdf arquitecturaJesus Diaz afiche Manierismo .pdf arquitectura
Jesus Diaz afiche Manierismo .pdf arquitectura
 
Presentacion de 100 psicologos dijeron.pptx
Presentacion de 100 psicologos dijeron.pptxPresentacion de 100 psicologos dijeron.pptx
Presentacion de 100 psicologos dijeron.pptx
 
Diseño de sifones y alcantarillas para obras hidraulicas
Diseño de sifones y alcantarillas para obras hidraulicasDiseño de sifones y alcantarillas para obras hidraulicas
Diseño de sifones y alcantarillas para obras hidraulicas
 
Le Corbusier y Mies van der Rohe: Aportes a la Arquitectura Moderna
Le Corbusier y Mies van der Rohe: Aportes a la Arquitectura ModernaLe Corbusier y Mies van der Rohe: Aportes a la Arquitectura Moderna
Le Corbusier y Mies van der Rohe: Aportes a la Arquitectura Moderna
 
Arquitectura Moderna Walter Gropius- Frank Lloyd Wright
Arquitectura Moderna  Walter Gropius- Frank Lloyd WrightArquitectura Moderna  Walter Gropius- Frank Lloyd Wright
Arquitectura Moderna Walter Gropius- Frank Lloyd Wright
 
Brochure Tuna Haus _ Hecho para mascotas.pdf
Brochure Tuna Haus _ Hecho para mascotas.pdfBrochure Tuna Haus _ Hecho para mascotas.pdf
Brochure Tuna Haus _ Hecho para mascotas.pdf
 
plantilla-de-messi-1.pdf es muy especial
plantilla-de-messi-1.pdf es muy especialplantilla-de-messi-1.pdf es muy especial
plantilla-de-messi-1.pdf es muy especial
 
Normas de convivencia para imprimir gratis
Normas de convivencia para imprimir gratisNormas de convivencia para imprimir gratis
Normas de convivencia para imprimir gratis
 
Proceso de percepción visual y de reconocimiento
Proceso de percepción visual y de reconocimientoProceso de percepción visual y de reconocimiento
Proceso de percepción visual y de reconocimiento
 
Espacios únicos creados por nuestros clientes
Espacios únicos creados por nuestros clientesEspacios únicos creados por nuestros clientes
Espacios únicos creados por nuestros clientes
 
CERTIFICACIÓN DE CAPACITACIÓN PARA EL CENSO - tfdxwBRz6f3AP7QU.pdf
CERTIFICACIÓN DE CAPACITACIÓN PARA EL CENSO - tfdxwBRz6f3AP7QU.pdfCERTIFICACIÓN DE CAPACITACIÓN PARA EL CENSO - tfdxwBRz6f3AP7QU.pdf
CERTIFICACIÓN DE CAPACITACIÓN PARA EL CENSO - tfdxwBRz6f3AP7QU.pdf
 

Lenguaje De ProgramacióN C

  • 1. Lenguaje de Programación C. C es un lenguaje de programación creado en 1972 por Dennis M. Ritchie en los Laboratorios Bell como evolución del anterior es decir el 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 débilmente tipificado de medio nivel pero con muchas características de bajo nivel. 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. La primera estandarización del lenguaje C fue en ANSI, con el estándar X3.159-1989. El lenguaje que define este estándar fue conocido vulgarmente como ANSI C. Posteriormente, en 1990, fue ratificado como estándar ISO (ISO/IEC 9899:1990). La adopción de este estándar es muy amplia por lo que, si los programas creados lo siguen, el código es portátil entre plataformas y/o arquitecturas. En la práctica, los programadores suelen usar elementos no-portátiles dependientes del compilador o del sistema operativo. Aplicaciones. Hecho principalmente para la fluidez de programación en sistemas UNIX. Se usa también para el desarrollo de otros sistemas operativos como Windows o Linux. Igualmente para aplicaciones de escritorio como OpenOffice.org, cuyo principal lenguaje de programación es C. De la misma forma, es muy usado en aplicaciones científicas (para experimentos informáticos, físicos, químicos, matemáticos, entre otros, parte de ellos conocidos como modelos y simuladores), industriales
  • 2. (industria robótica, cibernética, sistemas de información y base de datos para la industria petrolera y petroquímica. Predominan también todo lo que se refiere a simulación de máquinas de manufactura), simulaciones de vuelo (es la más delicada, ya que se tienen que usar demasiados recursos tanto de hardware como de software para desarrollar aplicaciones que permitan simular el vuelo real de una aeronave. Se aplica por tanto, en diversas áreas desconocidas por gran parte de los usuarios noveles. Los ordenadores de finales de los 90 son varios órdenes de magnitud más potentes que las máquinas en que C se desarrolló originalmente. Programas escritos en lenguajes de tipo dinámico y fácil codificación (Ruby, Python, Perl...) que antaño hubieran resultado demasiado lentos, son lo bastante rápidos como para desplazar en uso a C. Aun así, se puede seguir encontrando código C en grandes desarrollos de animaciones, modelados y escenas en 3D en películas y otras aplicaciones multimedia. Actualmente, los grandes proyectos de software se dividen en partes, dentro de un equipo de desarrollo. Aquellas partes que son más "burocráticas" o "de gestión" con los recursos del sistema, se suelen realizar en lenguajes de tipo dinámico o de guión (script), mientras que aquellas partes "críticas", por su necesidad de rapidez de ejecución, se realizan en un lenguaje de tipo compilado, como C o C++. Si, después de hacer la división, las partes críticas no superan un cierto porcentaje del total (aproximadamente el 10%) entonces todo el desarrollo se realiza con lenguajes dinámicos. Si la parte crítica no llega a cumplir las expectativas del proyecto, se comparan las alternativas de una inversión en nuevo hardware frente a invertir en el coste de un programador para que reescriba dicha parte crítica. Aplicaciones embebidas C es el lenguaje común para programar sistemas embebidos. El código ligero que un compilador C genera, combinado con la capacidad de acceso capas del software cercanas al hardware son la causa de su popularidad en estas aplicaciones. Un característica donde C demuestra comodidad de uso particularmente valiosa en sistemas embebidos es la manipulación de bits. Los sistemas contienen registros mapeados en memoria (en inglés, MMR) a través de los cuales los periféricos se configuran. Estos registros mezclan varias configuraciones en la misma dirección de memoria, aunque en bits distintos. Con C es posible modificar fácilmente uno de estos bits sin alterar el resto.
  • 3. Por ejemplo: int *mmr; /* puntero al registro que queremos modificar */ mmr = 0x40008ABC; /* dirección de memoria del registro */ * mmr |= 1<<7; /* pone a 1 el bit 7 sin modificar los demás */ * mmr &= ~(1<<12) /* pone a 0 el bit 12 sin modificar los demás */ Este tipo de manipulación es muy tediosa o sencillamente imposible en otros lenguajes de alto nivel. Otras características de C consideradas desventajas en la programación para PC -como la ausencia de control de memoria automático- se convierten en ventajas cuando los sistemas embebidos necesitan código pequeño y optimizado. Ese es el caso de los sistemas basados en microcontroladores de poca potencia como el intel 8051 o muchos sistemas ARM. Códigos. La compilación de un programa C se realiza en varias fases que normalmente son automatizadas y ocultadas por los entornos de desarrollo: 1. Preprocesado consistente en modificar el código fuente en C según una serie de instrucciones (denominadas directivas de preprocesado) simplificando de esta forma el trabajo del compilador. Por ejemplo, una de las acciones más importantes es la modificación de las inclusiones (#include) por las declaraciones reales existentes en el archivo indicado. 2. Compilación que genera el código objeto a partir del código ya preprocesado. 3. Enlazado que une los códigos objeto de los distintos módulos y bibliotecas externas (como las bibliotecas del sistema) para generar el programa ejecutable final. Ejemplo de código El siguiente programa imprime en pantalla la frase "Hola Mundo" (C99). # include <stdio.h> // necesario para utilizar printf()
  • 4. int main(void) { printf("Hola Mundon"); // return 0 implícito en C99 para main(). } El siguiente escribe "Hola Mundo" en C89 /* comentarios con '//' no permitidos en C89, sí en C99 */ # include <stdio.h> /* necesario para utilizar printf */ main() /* tipo 'int' de retorno implícito */ { printf ("Hola Mundon") ; return 0; } Programas. Ejemplos. Vala, C#, Objective-C, C++, AWK, bc, Java