SlideShare une entreprise Scribd logo
1  sur  7
Lenguaje C
Republica bolivariana de Venezuela
Ministerio del poder popular para la educación
Universidad “Fermin Toro”
Autor : Jose Querales
Ci. 21.299.959
Tutor: Yakirana Berro
Lenguaje C
 C es un lenguaje de programación de
propósito general que ofrece
economía sintáctica, control de flujo y
estructura 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.
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 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.
Caracteristicas del lenguaje C
 En un nivel intermedio se sitúa el lenguaje C, permitiendo beneficiarse de las
ventajas de ambos tipos de lenguajes, y reduciendo sus inconvenientes.
 Es un lenguaje de propósito general. Se ha utilizado para el desarrollo de muy
diversas aplicaciones: sistemas operativos, hojas de cálculo, gestores de bases
de datos...
 Es un lenguaje portable, es decir, es independiente del hardware. Los
programas escritos en C son fácilmente trasportables a otros sistemas.
Ventajas y Desventajas
 Ventajas
Es un lenguaje potente y eficiente, permitiendo
obtener programas rápidos y compactos.
Proporciona un completo control de cuanto
sucede en el interior del ordenador.
Permite una amplia libertad de organización del
trabajo.
 Desventajas: Es más complicado de aprender
que otros lenguajes de programación como
por ejemplo el Pascal.
Requiere una cierta experiencia para poder
sacarle el máximo rendimiento.
Sin disciplina es difícil mantener el control del
programa.
Utilidad del lenguaje C
 Un núcleo del lenguaje simple, con
funcionalidades añadidas importantes,
como funciones matemáticas y de manejo
de archivos, proporcionadas por
bibliotecas.
 Es un lenguaje muy flexible que permite
programar con múltiples estilos. Uno de los
más empleados es el estructurado "no
llevado al extremo" (permitiendo ciertas
licencias de ruptura).
 Un sistema de tipos que impide
operaciones sin sentido.
 Usa un lenguaje de preprocesado, el
preprocesador de C, para tareas como
definir macros e incluir múltiples archivos
de código fuente.
 Acceso a memoria de bajo nivel mediante
el uso de punteros.
 Interrupciones al procesador con uniones.
 Un conjunto reducido de palabras clave.
 Por defecto, el paso de parámetros a una
función se realiza por valor. El paso por
referencia se consigue pasando
explícitamente a las funciones las
direcciones de memoria de dichos
parámetros.
 Punteros a funciones y variables estáticas,
que permiten una forma rudimentaria de
encapsulado y polimorfismo.
 Tipos de datos agregados (struct) que
permiten que datos relacionados (como un
empleado, que tiene un id, un nombre y un
salario) se combinen y se manipulen como
un todo (en una única variable
"empleado").
Ejmplo del lenguaje C en la vida real
 Un ejemplo simple de un programa en gcc, el que es equivalente a este otro programa en
gcc (modificado). La diferencia radica en que en el primero las funciones son definidas
después de que han sido utilizadas y en el segundo las funciones son definidas primero y
luego utilizadas, además de que en ésta no se incluyen las librería stdio.h y stdlib.h . En
ambos casos la ejecución de los programas comienza dentro de la función main donde se
declaran tres variables locales i1, i2 e i3. Luego se ejecutan las siguientes instrucciones:
 Se asigna a la variable i1 el valor de la constante MAX que fue definida anteriormente con
un valor del tipo entero 2.
 Se asigna a la variable i2 el valor del tipo entero que retorna la llamada a la función
denominada: cuadrado(i2). El parámetro de entrada de esta función es i1, cuyo valor es 2.
Como ésta función retorna el valor de i1*i1, el valor de i2 es 4.
 Se asigna a la variable i3 el valor de la función cubo(i2), en este caso 64.
Para indicar el estado en el que el programa ha terminado se utiliza la función
return(EXIT_SUCCESS)
Webgrafia
 https://es.wikipedia.org/wiki/C_%28lenguaje_de_programaci%C3%B3n%29#Ca
racter.C3.ADsticas
 http://lainformacionesdetodos.blogspot.com/2013/07/conceptos-basicos-y-
ejemplos-de.html

Contenu connexe

Tendances (20)

PRESENTACION LENGUAJE C
 PRESENTACION LENGUAJE C  PRESENTACION LENGUAJE C
PRESENTACION LENGUAJE C
 
Introducción c++
Introducción c++Introducción c++
Introducción c++
 
Aprendiendo Lenguaje C
Aprendiendo Lenguaje CAprendiendo Lenguaje C
Aprendiendo Lenguaje C
 
Roderish informe
Roderish informeRoderish informe
Roderish informe
 
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)
 
franco lorentz word2
franco lorentz word2franco lorentz word2
franco lorentz word2
 
Lenguaje c1
Lenguaje c1Lenguaje c1
Lenguaje c1
 
1. que es programacion
1. que es programacion1. que es programacion
1. que es programacion
 
Lenguaje c++
Lenguaje c++Lenguaje c++
Lenguaje c++
 
01 - Introducción al lenguaje C
01 - Introducción al lenguaje C01 - Introducción al lenguaje C
01 - Introducción al lenguaje C
 
Introduccion al lenguaje_c
Introduccion al lenguaje_cIntroduccion al lenguaje_c
Introduccion al lenguaje_c
 
Lenguaje c
Lenguaje cLenguaje c
Lenguaje c
 
C++ y sus utilidades
C++ y sus utilidadesC++ y sus utilidades
C++ y sus utilidades
 
Lenguaje c.Luis Carrodeguas.16418180
Lenguaje c.Luis Carrodeguas.16418180Lenguaje c.Luis Carrodeguas.16418180
Lenguaje c.Luis Carrodeguas.16418180
 
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++
 
Manual de c/c++
Manual de c/c++Manual de c/c++
Manual de c/c++
 
Lenguaje c 1
Lenguaje c 1Lenguaje c 1
Lenguaje c 1
 
Lenguaje de programación
Lenguaje de programaciónLenguaje de programación
Lenguaje de programación
 
Introduccion a Visual C Sharp
Introduccion a Visual C SharpIntroduccion a Visual C Sharp
Introduccion a Visual C Sharp
 
C++
C++C++
C++
 

En vedette (20)

Lenguaje ensamblador
Lenguaje ensambladorLenguaje ensamblador
Lenguaje ensamblador
 
LENGUAJE ENSAMBLADOR
LENGUAJE ENSAMBLADORLENGUAJE ENSAMBLADOR
LENGUAJE ENSAMBLADOR
 
Lenguaje c ibeth lozada
Lenguaje c ibeth lozadaLenguaje c ibeth lozada
Lenguaje c ibeth lozada
 
Lenguaje c
Lenguaje cLenguaje c
Lenguaje c
 
Lenguaje c
Lenguaje cLenguaje c
Lenguaje c
 
Lenguaje ensamblador
Lenguaje ensambladorLenguaje ensamblador
Lenguaje ensamblador
 
2.1 Lenguaje de Programación C y su Entorno
2.1 Lenguaje de Programación C y su Entorno2.1 Lenguaje de Programación C y su Entorno
2.1 Lenguaje de Programación C y su Entorno
 
Lenguaje ensamblador
Lenguaje ensambladorLenguaje ensamblador
Lenguaje ensamblador
 
Cadena caracteres
Cadena caracteresCadena caracteres
Cadena caracteres
 
Lenguaje ensamblador
Lenguaje ensambladorLenguaje ensamblador
Lenguaje ensamblador
 
Aplicaciones de lenguaje c
Aplicaciones de lenguaje cAplicaciones de lenguaje c
Aplicaciones de lenguaje c
 
Caracteres y Cadenas en C
Caracteres y Cadenas en CCaracteres y Cadenas en C
Caracteres y Cadenas en C
 
Manual del dev c++
Manual del dev c++Manual del dev c++
Manual del dev c++
 
Ensamblador
EnsambladorEnsamblador
Ensamblador
 
Lenguaje ensamblador basico
Lenguaje ensamblador basicoLenguaje ensamblador basico
Lenguaje ensamblador basico
 
Todo sobre C#
Todo sobre C#Todo sobre C#
Todo sobre C#
 
Introducción a la codificación en lenguaje C
Introducción a la codificación en lenguaje CIntroducción a la codificación en lenguaje C
Introducción a la codificación en lenguaje C
 
Lenguaje Ensamblador
Lenguaje EnsambladorLenguaje Ensamblador
Lenguaje Ensamblador
 
PROGRAMAS EN DEV C++
PROGRAMAS EN DEV C++PROGRAMAS EN DEV C++
PROGRAMAS EN DEV C++
 
Lenguaje Ensamblador
Lenguaje EnsambladorLenguaje Ensamblador
Lenguaje Ensamblador
 

Similaire à Lenguaje c josequerales

Lenguaje c
Lenguaje cLenguaje c
Lenguaje cAle2417
 
Aplicacion de c
Aplicacion de cAplicacion de c
Aplicacion de chek_sk8
 
Lenguaje c completo 6 g x revisar x los estudiantes
Lenguaje c completo 6 g x revisar x los estudiantesLenguaje c completo 6 g x revisar x los estudiantes
Lenguaje c completo 6 g x revisar x los estudiantesJhon Jairo C Q
 
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
 
C ++ Estatutos ciclos
C ++ Estatutos ciclosC ++ Estatutos ciclos
C ++ Estatutos ciclosernest1960
 
2 intcomp milexisromero
2 intcomp milexisromero2 intcomp milexisromero
2 intcomp milexisromero18511572
 
Ensayo de programacion c
Ensayo de programacion cEnsayo de programacion c
Ensayo de programacion cChavez Raul
 
Lenguje c.PRESENTACION
Lenguje c.PRESENTACIONLenguje c.PRESENTACION
Lenguje c.PRESENTACIONEderson Galvan
 
Lenguaje de Programación C
Lenguaje de Programación CLenguaje de Programación C
Lenguaje de Programación Cgrecia morales
 
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
 

Similaire à Lenguaje c josequerales (20)

Lenguaje c
Lenguaje cLenguaje c
Lenguaje c
 
Lenguaje C
Lenguaje CLenguaje C
Lenguaje C
 
ENSAYO SOBRE EL LENGUAJE C
ENSAYO SOBRE EL LENGUAJE C ENSAYO SOBRE EL LENGUAJE C
ENSAYO SOBRE EL LENGUAJE C
 
Aplicacion de c
Aplicacion de cAplicacion de c
Aplicacion de c
 
Lenguaje c completo 6 g x revisar x los estudiantes
Lenguaje c completo 6 g x revisar x los estudiantesLenguaje c completo 6 g x revisar x los estudiantes
Lenguaje c completo 6 g x revisar x los estudiantes
 
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
 
C ++ Estatutos ciclos
C ++ Estatutos ciclosC ++ Estatutos ciclos
C ++ Estatutos ciclos
 
Unidad 3
Unidad 3Unidad 3
Unidad 3
 
Programacion
ProgramacionProgramacion
Programacion
 
PROGRAMACION EN C
PROGRAMACION EN CPROGRAMACION EN C
PROGRAMACION EN C
 
Lenguaje de programacion
Lenguaje de programacionLenguaje de programacion
Lenguaje de programacion
 
2 intcomp milexisromero
2 intcomp milexisromero2 intcomp milexisromero
2 intcomp milexisromero
 
Ensayo de programacion c
Ensayo de programacion cEnsayo de programacion c
Ensayo de programacion c
 
Lenguje c.PRESENTACION
Lenguje c.PRESENTACIONLenguje c.PRESENTACION
Lenguje c.PRESENTACION
 
Lenguaje de Programación C
Lenguaje de Programación CLenguaje de Programación C
Lenguaje de Programación C
 
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
 
Lenguaje C
Lenguaje CLenguaje C
Lenguaje C
 

Dernier

La Sostenibilidad Corporativa. Administración Ambiental
La Sostenibilidad Corporativa. Administración AmbientalLa Sostenibilidad Corporativa. Administración Ambiental
La Sostenibilidad Corporativa. Administración AmbientalJonathanCovena1
 
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptxCONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptxroberthirigoinvasque
 
LA LITERATURA DEL BARROCO 2023-2024pptx.pptx
LA LITERATURA DEL BARROCO 2023-2024pptx.pptxLA LITERATURA DEL BARROCO 2023-2024pptx.pptx
LA LITERATURA DEL BARROCO 2023-2024pptx.pptxlclcarmen
 
Biografía de Charles Coulomb física .pdf
Biografía de Charles Coulomb física .pdfBiografía de Charles Coulomb física .pdf
Biografía de Charles Coulomb física .pdfGruberACaraballo
 
TRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPC
TRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPCTRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPC
TRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPCCarlosEduardoSosa2
 
Actividades para el 11 de Mayo día del himno.docx
Actividades para el 11 de Mayo día del himno.docxActividades para el 11 de Mayo día del himno.docx
Actividades para el 11 de Mayo día del himno.docxpaogar2178
 
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLAACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLAJAVIER SOLIS NOYOLA
 
1ro Programación Anual D.P.C.C planificación anual del área para el desarroll...
1ro Programación Anual D.P.C.C planificación anual del área para el desarroll...1ro Programación Anual D.P.C.C planificación anual del área para el desarroll...
1ro Programación Anual D.P.C.C planificación anual del área para el desarroll...JoseMartinMalpartida1
 
Plan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdf
Plan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdfPlan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdf
Plan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdfcarolinamartinezsev
 
6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primaria6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primariaWilian24
 
Desarrollo y Aplicación de la Administración por Valores
Desarrollo y Aplicación de la Administración por ValoresDesarrollo y Aplicación de la Administración por Valores
Desarrollo y Aplicación de la Administración por ValoresJonathanCovena1
 
prostitución en España: una mirada integral!
prostitución en España: una mirada integral!prostitución en España: una mirada integral!
prostitución en España: una mirada integral!CatalinaAlfaroChryso
 
Feliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdfFeliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdfMercedes Gonzalez
 
PLAN LECTOR 2024 integrado nivel inicial-miercoles 10.pptx
PLAN LECTOR 2024  integrado nivel inicial-miercoles 10.pptxPLAN LECTOR 2024  integrado nivel inicial-miercoles 10.pptx
PLAN LECTOR 2024 integrado nivel inicial-miercoles 10.pptxCamuchaCrdovaAlonso
 
Posición astronómica y geográfica de Europa.pptx
Posición astronómica y geográfica de Europa.pptxPosición astronómica y geográfica de Europa.pptx
Posición astronómica y geográfica de Europa.pptxBeatrizQuijano2
 

Dernier (20)

La Sostenibilidad Corporativa. Administración Ambiental
La Sostenibilidad Corporativa. Administración AmbientalLa Sostenibilidad Corporativa. Administración Ambiental
La Sostenibilidad Corporativa. Administración Ambiental
 
Novena de Pentecostés con textos de san Juan Eudes
Novena de Pentecostés con textos de san Juan EudesNovena de Pentecostés con textos de san Juan Eudes
Novena de Pentecostés con textos de san Juan Eudes
 
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptxCONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
 
LA LITERATURA DEL BARROCO 2023-2024pptx.pptx
LA LITERATURA DEL BARROCO 2023-2024pptx.pptxLA LITERATURA DEL BARROCO 2023-2024pptx.pptx
LA LITERATURA DEL BARROCO 2023-2024pptx.pptx
 
Biografía de Charles Coulomb física .pdf
Biografía de Charles Coulomb física .pdfBiografía de Charles Coulomb física .pdf
Biografía de Charles Coulomb física .pdf
 
TRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPC
TRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPCTRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPC
TRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPC
 
Actividades para el 11 de Mayo día del himno.docx
Actividades para el 11 de Mayo día del himno.docxActividades para el 11 de Mayo día del himno.docx
Actividades para el 11 de Mayo día del himno.docx
 
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLAACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
 
1ro Programación Anual D.P.C.C planificación anual del área para el desarroll...
1ro Programación Anual D.P.C.C planificación anual del área para el desarroll...1ro Programación Anual D.P.C.C planificación anual del área para el desarroll...
1ro Programación Anual D.P.C.C planificación anual del área para el desarroll...
 
Usos y desusos de la inteligencia artificial en revistas científicas
Usos y desusos de la inteligencia artificial en revistas científicasUsos y desusos de la inteligencia artificial en revistas científicas
Usos y desusos de la inteligencia artificial en revistas científicas
 
Plan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdf
Plan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdfPlan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdf
Plan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdf
 
6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primaria6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primaria
 
Desarrollo y Aplicación de la Administración por Valores
Desarrollo y Aplicación de la Administración por ValoresDesarrollo y Aplicación de la Administración por Valores
Desarrollo y Aplicación de la Administración por Valores
 
prostitución en España: una mirada integral!
prostitución en España: una mirada integral!prostitución en España: una mirada integral!
prostitución en España: una mirada integral!
 
Feliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdfFeliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdf
 
Interpretación de cortes geológicos 2024
Interpretación de cortes geológicos 2024Interpretación de cortes geológicos 2024
Interpretación de cortes geológicos 2024
 
Power Point E. S.: Los dos testigos.pptx
Power Point E. S.: Los dos testigos.pptxPower Point E. S.: Los dos testigos.pptx
Power Point E. S.: Los dos testigos.pptx
 
PLAN LECTOR 2024 integrado nivel inicial-miercoles 10.pptx
PLAN LECTOR 2024  integrado nivel inicial-miercoles 10.pptxPLAN LECTOR 2024  integrado nivel inicial-miercoles 10.pptx
PLAN LECTOR 2024 integrado nivel inicial-miercoles 10.pptx
 
Posición astronómica y geográfica de Europa.pptx
Posición astronómica y geográfica de Europa.pptxPosición astronómica y geográfica de Europa.pptx
Posición astronómica y geográfica de Europa.pptx
 
Los dos testigos. Testifican de la Verdad
Los dos testigos. Testifican de la VerdadLos dos testigos. Testifican de la Verdad
Los dos testigos. Testifican de la Verdad
 

Lenguaje c josequerales

  • 1. Lenguaje C Republica bolivariana de Venezuela Ministerio del poder popular para la educación Universidad “Fermin Toro” Autor : Jose Querales Ci. 21.299.959 Tutor: Yakirana Berro
  • 2. Lenguaje C  C es un lenguaje de programación de propósito general que ofrece economía sintáctica, control de flujo y estructura 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. 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 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. Caracteristicas del lenguaje C  En un nivel intermedio se sitúa el lenguaje C, permitiendo beneficiarse de las ventajas de ambos tipos de lenguajes, y reduciendo sus inconvenientes.  Es un lenguaje de propósito general. Se ha utilizado para el desarrollo de muy diversas aplicaciones: sistemas operativos, hojas de cálculo, gestores de bases de datos...  Es un lenguaje portable, es decir, es independiente del hardware. Los programas escritos en C son fácilmente trasportables a otros sistemas.
  • 4. Ventajas y Desventajas  Ventajas Es un lenguaje potente y eficiente, permitiendo obtener programas rápidos y compactos. Proporciona un completo control de cuanto sucede en el interior del ordenador. Permite una amplia libertad de organización del trabajo.  Desventajas: Es más complicado de aprender que otros lenguajes de programación como por ejemplo el Pascal. Requiere una cierta experiencia para poder sacarle el máximo rendimiento. Sin disciplina es difícil mantener el control del programa.
  • 5. Utilidad del lenguaje C  Un núcleo del lenguaje simple, con funcionalidades añadidas importantes, como funciones matemáticas y de manejo de archivos, proporcionadas por bibliotecas.  Es un lenguaje muy flexible que permite programar con múltiples estilos. Uno de los más empleados es el estructurado "no llevado al extremo" (permitiendo ciertas licencias de ruptura).  Un sistema de tipos que impide operaciones sin sentido.  Usa un lenguaje de preprocesado, el preprocesador de C, para tareas como definir macros e incluir múltiples archivos de código fuente.  Acceso a memoria de bajo nivel mediante el uso de punteros.  Interrupciones al procesador con uniones.  Un conjunto reducido de palabras clave.  Por defecto, el paso de parámetros a una función se realiza por valor. El paso por referencia se consigue pasando explícitamente a las funciones las direcciones de memoria de dichos parámetros.  Punteros a funciones y variables estáticas, que permiten una forma rudimentaria de encapsulado y polimorfismo.  Tipos de datos agregados (struct) que permiten que datos relacionados (como un empleado, que tiene un id, un nombre y un salario) se combinen y se manipulen como un todo (en una única variable "empleado").
  • 6. Ejmplo del lenguaje C en la vida real  Un ejemplo simple de un programa en gcc, el que es equivalente a este otro programa en gcc (modificado). La diferencia radica en que en el primero las funciones son definidas después de que han sido utilizadas y en el segundo las funciones son definidas primero y luego utilizadas, además de que en ésta no se incluyen las librería stdio.h y stdlib.h . En ambos casos la ejecución de los programas comienza dentro de la función main donde se declaran tres variables locales i1, i2 e i3. Luego se ejecutan las siguientes instrucciones:  Se asigna a la variable i1 el valor de la constante MAX que fue definida anteriormente con un valor del tipo entero 2.  Se asigna a la variable i2 el valor del tipo entero que retorna la llamada a la función denominada: cuadrado(i2). El parámetro de entrada de esta función es i1, cuyo valor es 2. Como ésta función retorna el valor de i1*i1, el valor de i2 es 4.  Se asigna a la variable i3 el valor de la función cubo(i2), en este caso 64. Para indicar el estado en el que el programa ha terminado se utiliza la función return(EXIT_SUCCESS)