SlideShare una empresa de Scribd logo
1 de 6
UNIVERSIDAD FERMÍN TORO
VICE-RECTORADO ACADEMICO
FACULTAD DE INGENIERIA
ESCUELA DE MANTENIMIENTO MECANICO
INTEGRANTES CI.:
DANIEL VILLAVICENCIO 27.198.346
SECCION:
SAIA-G.
JULIO, 2017
INFORME
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.
Este lenguaje ha sido estrechamente ligado al sistema operativo UNIX, puesto
que fueron desarrollados conjuntamente. Sin embargo, este lenguaje no está
ligado a ningún sistema operativo ni a ninguna máquina concreta. Se le suele
llamar lenguaje de programación de sistemas debido a su utilidad para
escribir compiladores y sistemas operativos, aunque de igual forma se puede
desarrollar cualquier tipo de aplicación.
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.Introducción al lenguaje C (2).
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.
C trabaja con tipos de datos que son directamente tratables por el hardware de
la mayoría de computadoras actuales, como son los caracteres, números y
direcciones. Estos tipos de datos pueden ser manipulados por
las operaciones aritméticas que proporcionan las computadoras. No
proporciona mecanismos para tratar tipos de datos que no sean los básicos,
debiendo ser el programador el que los desarrolle. Esto permite que
el código generado sea muy eficiente y de ahí el éxito que ha tenido como
lenguaje de desarrollo de sistemas. No proporciona otros mecanismos
de almacenamiento de datos que no sea el estático y no proporciona
mecanismos de entrada ni salida. Ello permite que el lenguaje sea reducido y
los compiladores de fácil implementación en distintos sistemas. Por contra,
estas carencias se compensan mediante la inclusión de funciones de librería
para realizar todas estas tareas, que normalmente dependen del sistema
operativo.
Estructura básica de un programa en C
La mejor forma de aprender un lenguaje es programando con él. El programa
más sencillo que se puede escribir en C es el siguiente:
main( )
{
}
Como nos podemos imaginar, este programa no hace nada, pero contiene la
parte más importante de cualquier programa C y además, es el más pequeño
que se puede escribir y que se compile correctamente. En el se define
la función main, que es la que ejecuta el sistema operativo al llamar a un
programa C. El nombre de una función C siempre va seguida de paréntesis,
tanto si tiene argumentos como si no. La definición de la función está formada
por un bloque de sentencias, que esta encerrado entre llaves {}.
Un programa algo más complicado es el siguiente:
#include <stdio.h>
main( )
{
printf("Hola amigos!n");
}
Con el visualizamos el mensaje Hola amigos! en el terminal. En la primera línea
indica que se tengan en cuenta las funciones y tipos definidos en la librería
stdio (standard input/output). Estas definiciones se encuentran en el fichero
header stdio.h. Ahora, en la función main se incluye una única sentencia que
llama a la función printf. Esta toma como argumento una cadena de caracteres,
que se imprimen van encerradas entre dobles comillas " ". El símbolo n indica
un cambio de línea.
Ventajas:
* El lenguaje C ha sido pensado para ser altamente transportable.
* 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.
Gracias a este tipo de programas la tecnología ha podido alcanzar un gran
avance en todos los ámbitos tanto nacionales como internacionales, es por eso
que es necesario que este tipo de lenguaje se aprenda para poder realizar
utilerías capaces de trabajar y apoyar proyectos que ayudarán al manejo mas
sencillo de una empresa ó en particular pequeñas aplicaciones en el hogar.
El Lenguaje C es relativamente sencillo, pero su gran flexibilidad es terreno
abonado para la creación de vicios y prácticas no adecuadas de programación,
por lo cual debe cuidarse la enseñanza de su estilo de programación, técnica y
filosofía de trabajo.
Introducción al lenguaje C

Más contenido relacionado

La actualidad más candente (20)

Informe lpi
Informe lpiInforme lpi
Informe lpi
 
Lenguaje de Programación C
Lenguaje de Programación CLenguaje de Programación C
Lenguaje de Programación C
 
Compiladores para fortran, pascal y c
Compiladores para fortran, pascal y cCompiladores para fortran, pascal y c
Compiladores para fortran, pascal y c
 
Lenguaje c1
Lenguaje c1Lenguaje c1
Lenguaje c1
 
Progra.jpg
Progra.jpgProgra.jpg
Progra.jpg
 
Lenguaje c ibeth lozada
Lenguaje c ibeth lozadaLenguaje c ibeth lozada
Lenguaje c ibeth lozada
 
Roderish informe
Roderish informeRoderish informe
Roderish informe
 
Karen y Vivian
Karen y VivianKaren y Vivian
Karen y Vivian
 
Lpc
LpcLpc
Lpc
 
Lenguje c.PRESENTACION
Lenguje c.PRESENTACIONLenguje c.PRESENTACION
Lenguje c.PRESENTACION
 
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
 
Programacion
ProgramacionProgramacion
Programacion
 
Unidad 3
Unidad 3Unidad 3
Unidad 3
 
Lenguaje c
Lenguaje cLenguaje c
Lenguaje c
 
PRESENTACION LENGUAJE C
 PRESENTACION LENGUAJE C  PRESENTACION LENGUAJE C
PRESENTACION LENGUAJE 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
 
01 - Introducción al lenguaje C
01 - Introducción al lenguaje C01 - Introducción al lenguaje C
01 - Introducción al lenguaje C
 
Int a la computacion
Int a la computacionInt a la computacion
Int a la computacion
 
PROGRAMACION EN C
PROGRAMACION EN CPROGRAMACION EN C
PROGRAMACION EN C
 
Lenguaje de programación
Lenguaje de  programaciónLenguaje de  programación
Lenguaje de programación
 

Similar a Introducción al lenguaje C

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
 
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
 
Especialidad presentacion taller sena
Especialidad presentacion taller senaEspecialidad presentacion taller sena
Especialidad presentacion taller senadejuansi2
 
Especialidad presentacion taller sena
Especialidad presentacion taller senaEspecialidad presentacion taller sena
Especialidad presentacion taller senazeepulveediita20
 
Especialidad presentacion taller sena
Especialidad presentacion taller senaEspecialidad presentacion taller sena
Especialidad presentacion taller senazeepulveediita20
 
Especialidad presentacion taller sena
Especialidad presentacion taller senaEspecialidad presentacion taller sena
Especialidad presentacion taller senaNat Alia
 
Lenguaje c
Lenguaje cLenguaje c
Lenguaje cAle2417
 
Lenguaje de Programación C
Lenguaje de Programación CLenguaje de Programación C
Lenguaje de Programación CLoreanna Benti
 
LENGUAJE en C
LENGUAJE en CLENGUAJE en C
LENGUAJE en CDaniel bg
 
estructura de lenguaje C
estructura de lenguaje Cestructura de lenguaje C
estructura de lenguaje CMalcon Beltran
 

Similar a Introducción al lenguaje C (20)

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
 
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
 
Especialidad presentacion taller sena
Especialidad presentacion taller senaEspecialidad presentacion taller sena
Especialidad presentacion taller sena
 
Especialidad presentacion taller sena
Especialidad presentacion taller senaEspecialidad presentacion taller sena
Especialidad presentacion taller sena
 
Especialidad presentacion taller sena
Especialidad presentacion taller senaEspecialidad presentacion taller sena
Especialidad presentacion taller sena
 
Especialidad presentacion taller sena
Especialidad presentacion taller senaEspecialidad presentacion taller sena
Especialidad presentacion taller sena
 
Lenguaje c
Lenguaje cLenguaje c
Lenguaje c
 
Lenguaje c++
Lenguaje c++Lenguaje c++
Lenguaje c++
 
Lenguaje de Programación C
Lenguaje de Programación CLenguaje de Programación C
Lenguaje de Programación C
 
Lenguaje C
Lenguaje CLenguaje C
Lenguaje C
 
Lenguaje C
Lenguaje CLenguaje C
Lenguaje C
 
2Lenguaje c
2Lenguaje c2Lenguaje c
2Lenguaje c
 
LENGUAJE en C
LENGUAJE en CLENGUAJE en C
LENGUAJE en C
 
estructura de lenguaje C
estructura de lenguaje Cestructura de lenguaje C
estructura de lenguaje C
 
Informatica 1
Informatica 1Informatica 1
Informatica 1
 

Último

Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptxPresentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptxYeseniaRivera50
 
3. Pedagogía de la Educación: Como objeto de la didáctica.ppsx
3. Pedagogía de la Educación: Como objeto de la didáctica.ppsx3. Pedagogía de la Educación: Como objeto de la didáctica.ppsx
3. Pedagogía de la Educación: Como objeto de la didáctica.ppsxJuanpm27
 
EJEMPLO MODELO DE PLAN DE REFUERZO ESCOLAR.docx
EJEMPLO MODELO DE PLAN DE REFUERZO ESCOLAR.docxEJEMPLO MODELO DE PLAN DE REFUERZO ESCOLAR.docx
EJEMPLO MODELO DE PLAN DE REFUERZO ESCOLAR.docxFabianValenciaJabo
 
GUIA DE TEXTOS EDUCATIVOS SANTILLANA PARA SECUNDARIA
GUIA DE TEXTOS EDUCATIVOS SANTILLANA PARA SECUNDARIAGUIA DE TEXTOS EDUCATIVOS SANTILLANA PARA SECUNDARIA
GUIA DE TEXTOS EDUCATIVOS SANTILLANA PARA SECUNDARIAELIASPELAEZSARMIENTO1
 
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdf
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdfFisiologia.Articular. 3 Kapandji.6a.Ed.pdf
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdfcoloncopias5
 
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO YESSENIA 933623393 NUEV...
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO  YESSENIA 933623393 NUEV...IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO  YESSENIA 933623393 NUEV...
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO YESSENIA 933623393 NUEV...YobanaZevallosSantil1
 
DETALLES EN EL DISEÑO DE INTERIOR
DETALLES EN EL DISEÑO DE INTERIORDETALLES EN EL DISEÑO DE INTERIOR
DETALLES EN EL DISEÑO DE INTERIORGonella
 
III SEGUNDO CICLO PLAN DE TUTORÍA 2024.docx
III SEGUNDO CICLO PLAN DE TUTORÍA 2024.docxIII SEGUNDO CICLO PLAN DE TUTORÍA 2024.docx
III SEGUNDO CICLO PLAN DE TUTORÍA 2024.docxMaritza438836
 
Uses of simple past and time expressions
Uses of simple past and time expressionsUses of simple past and time expressions
Uses of simple past and time expressionsConsueloSantana3
 
Concurso José María Arguedas nacional.pptx
Concurso José María Arguedas nacional.pptxConcurso José María Arguedas nacional.pptx
Concurso José María Arguedas nacional.pptxkeithgiancarloroquef
 
Secuencia didáctica.DOÑA CLEMENTINA.2024.docx
Secuencia didáctica.DOÑA CLEMENTINA.2024.docxSecuencia didáctica.DOÑA CLEMENTINA.2024.docx
Secuencia didáctica.DOÑA CLEMENTINA.2024.docxNataliaGonzalez619348
 
MODELO DE INFORME DE INDAGACION CIENTIFICA .docx
MODELO DE INFORME DE INDAGACION CIENTIFICA .docxMODELO DE INFORME DE INDAGACION CIENTIFICA .docx
MODELO DE INFORME DE INDAGACION CIENTIFICA .docxRAMON EUSTAQUIO CARO BAYONA
 
Contextualización y aproximación al objeto de estudio de investigación cualit...
Contextualización y aproximación al objeto de estudio de investigación cualit...Contextualización y aproximación al objeto de estudio de investigación cualit...
Contextualización y aproximación al objeto de estudio de investigación cualit...Angélica Soledad Vega Ramírez
 
Actividad transversal 2-bloque 2. Actualización 2024
Actividad transversal 2-bloque 2. Actualización 2024Actividad transversal 2-bloque 2. Actualización 2024
Actividad transversal 2-bloque 2. Actualización 2024Rosabel UA
 
sesión de aprendizaje 4 E1 Exposición oral.pdf
sesión de aprendizaje 4 E1 Exposición oral.pdfsesión de aprendizaje 4 E1 Exposición oral.pdf
sesión de aprendizaje 4 E1 Exposición oral.pdfpatriciavsquezbecerr
 
Presentacion minimalista aesthetic simple beige_20240415_224856_0000.pdf
Presentacion minimalista aesthetic simple beige_20240415_224856_0000.pdfPresentacion minimalista aesthetic simple beige_20240415_224856_0000.pdf
Presentacion minimalista aesthetic simple beige_20240415_224856_0000.pdfSarayLuciaSnchezFigu
 
Tema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdf
Tema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdfTema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdf
Tema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdfDaniel Ángel Corral de la Mata, Ph.D.
 

Último (20)

Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptxPresentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
 
3. Pedagogía de la Educación: Como objeto de la didáctica.ppsx
3. Pedagogía de la Educación: Como objeto de la didáctica.ppsx3. Pedagogía de la Educación: Como objeto de la didáctica.ppsx
3. Pedagogía de la Educación: Como objeto de la didáctica.ppsx
 
EJEMPLO MODELO DE PLAN DE REFUERZO ESCOLAR.docx
EJEMPLO MODELO DE PLAN DE REFUERZO ESCOLAR.docxEJEMPLO MODELO DE PLAN DE REFUERZO ESCOLAR.docx
EJEMPLO MODELO DE PLAN DE REFUERZO ESCOLAR.docx
 
GUIA DE TEXTOS EDUCATIVOS SANTILLANA PARA SECUNDARIA
GUIA DE TEXTOS EDUCATIVOS SANTILLANA PARA SECUNDARIAGUIA DE TEXTOS EDUCATIVOS SANTILLANA PARA SECUNDARIA
GUIA DE TEXTOS EDUCATIVOS SANTILLANA PARA SECUNDARIA
 
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdf
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdfFisiologia.Articular. 3 Kapandji.6a.Ed.pdf
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdf
 
Aedes aegypti + Intro to Coquies EE.pptx
Aedes aegypti + Intro to Coquies EE.pptxAedes aegypti + Intro to Coquies EE.pptx
Aedes aegypti + Intro to Coquies EE.pptx
 
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO YESSENIA 933623393 NUEV...
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO  YESSENIA 933623393 NUEV...IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO  YESSENIA 933623393 NUEV...
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO YESSENIA 933623393 NUEV...
 
DETALLES EN EL DISEÑO DE INTERIOR
DETALLES EN EL DISEÑO DE INTERIORDETALLES EN EL DISEÑO DE INTERIOR
DETALLES EN EL DISEÑO DE INTERIOR
 
III SEGUNDO CICLO PLAN DE TUTORÍA 2024.docx
III SEGUNDO CICLO PLAN DE TUTORÍA 2024.docxIII SEGUNDO CICLO PLAN DE TUTORÍA 2024.docx
III SEGUNDO CICLO PLAN DE TUTORÍA 2024.docx
 
Uses of simple past and time expressions
Uses of simple past and time expressionsUses of simple past and time expressions
Uses of simple past and time expressions
 
Concurso José María Arguedas nacional.pptx
Concurso José María Arguedas nacional.pptxConcurso José María Arguedas nacional.pptx
Concurso José María Arguedas nacional.pptx
 
Secuencia didáctica.DOÑA CLEMENTINA.2024.docx
Secuencia didáctica.DOÑA CLEMENTINA.2024.docxSecuencia didáctica.DOÑA CLEMENTINA.2024.docx
Secuencia didáctica.DOÑA CLEMENTINA.2024.docx
 
MODELO DE INFORME DE INDAGACION CIENTIFICA .docx
MODELO DE INFORME DE INDAGACION CIENTIFICA .docxMODELO DE INFORME DE INDAGACION CIENTIFICA .docx
MODELO DE INFORME DE INDAGACION CIENTIFICA .docx
 
Contextualización y aproximación al objeto de estudio de investigación cualit...
Contextualización y aproximación al objeto de estudio de investigación cualit...Contextualización y aproximación al objeto de estudio de investigación cualit...
Contextualización y aproximación al objeto de estudio de investigación cualit...
 
Actividad transversal 2-bloque 2. Actualización 2024
Actividad transversal 2-bloque 2. Actualización 2024Actividad transversal 2-bloque 2. Actualización 2024
Actividad transversal 2-bloque 2. Actualización 2024
 
sesión de aprendizaje 4 E1 Exposición oral.pdf
sesión de aprendizaje 4 E1 Exposición oral.pdfsesión de aprendizaje 4 E1 Exposición oral.pdf
sesión de aprendizaje 4 E1 Exposición oral.pdf
 
DIA INTERNACIONAL DAS FLORESTAS .
DIA INTERNACIONAL DAS FLORESTAS         .DIA INTERNACIONAL DAS FLORESTAS         .
DIA INTERNACIONAL DAS FLORESTAS .
 
Presentacion minimalista aesthetic simple beige_20240415_224856_0000.pdf
Presentacion minimalista aesthetic simple beige_20240415_224856_0000.pdfPresentacion minimalista aesthetic simple beige_20240415_224856_0000.pdf
Presentacion minimalista aesthetic simple beige_20240415_224856_0000.pdf
 
VISITA À PROTEÇÃO CIVIL _
VISITA À PROTEÇÃO CIVIL                  _VISITA À PROTEÇÃO CIVIL                  _
VISITA À PROTEÇÃO CIVIL _
 
Tema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdf
Tema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdfTema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdf
Tema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdf
 

Introducción al lenguaje C

  • 1. UNIVERSIDAD FERMÍN TORO VICE-RECTORADO ACADEMICO FACULTAD DE INGENIERIA ESCUELA DE MANTENIMIENTO MECANICO INTEGRANTES CI.: DANIEL VILLAVICENCIO 27.198.346 SECCION: SAIA-G. JULIO, 2017
  • 2. INFORME 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. Este lenguaje ha sido estrechamente ligado al sistema operativo UNIX, puesto que fueron desarrollados conjuntamente. Sin embargo, este lenguaje no está ligado a ningún sistema operativo ni a ninguna máquina concreta. Se le suele llamar lenguaje de programación de sistemas debido a su utilidad para escribir compiladores y sistemas operativos, aunque de igual forma se puede desarrollar cualquier tipo de aplicación. 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.Introducción al lenguaje C (2). 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. C trabaja con tipos de datos que son directamente tratables por el hardware de la mayoría de computadoras actuales, como son los caracteres, números y direcciones. Estos tipos de datos pueden ser manipulados por las operaciones aritméticas que proporcionan las computadoras. No proporciona mecanismos para tratar tipos de datos que no sean los básicos, debiendo ser el programador el que los desarrolle. Esto permite que el código generado sea muy eficiente y de ahí el éxito que ha tenido como lenguaje de desarrollo de sistemas. No proporciona otros mecanismos de almacenamiento de datos que no sea el estático y no proporciona mecanismos de entrada ni salida. Ello permite que el lenguaje sea reducido y los compiladores de fácil implementación en distintos sistemas. Por contra, estas carencias se compensan mediante la inclusión de funciones de librería para realizar todas estas tareas, que normalmente dependen del sistema operativo. Estructura básica de un programa en C La mejor forma de aprender un lenguaje es programando con él. El programa más sencillo que se puede escribir en C es el siguiente: main( ) { } Como nos podemos imaginar, este programa no hace nada, pero contiene la parte más importante de cualquier programa C y además, es el más pequeño que se puede escribir y que se compile correctamente. En el se define la función main, que es la que ejecuta el sistema operativo al llamar a un programa C. El nombre de una función C siempre va seguida de paréntesis, tanto si tiene argumentos como si no. La definición de la función está formada por un bloque de sentencias, que esta encerrado entre llaves {}. Un programa algo más complicado es el siguiente: #include <stdio.h> main( )
  • 4. { printf("Hola amigos!n"); } Con el visualizamos el mensaje Hola amigos! en el terminal. En la primera línea indica que se tengan en cuenta las funciones y tipos definidos en la librería stdio (standard input/output). Estas definiciones se encuentran en el fichero header stdio.h. Ahora, en la función main se incluye una única sentencia que llama a la función printf. Esta toma como argumento una cadena de caracteres, que se imprimen van encerradas entre dobles comillas " ". El símbolo n indica un cambio de línea. Ventajas: * El lenguaje C ha sido pensado para ser altamente transportable. * 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.
  • 5. * 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. Gracias a este tipo de programas la tecnología ha podido alcanzar un gran avance en todos los ámbitos tanto nacionales como internacionales, es por eso que es necesario que este tipo de lenguaje se aprenda para poder realizar utilerías capaces de trabajar y apoyar proyectos que ayudarán al manejo mas sencillo de una empresa ó en particular pequeñas aplicaciones en el hogar. El Lenguaje C es relativamente sencillo, pero su gran flexibilidad es terreno abonado para la creación de vicios y prácticas no adecuadas de programación, por lo cual debe cuidarse la enseñanza de su estilo de programación, técnica y filosofía de trabajo.