SlideShare una empresa de Scribd logo
1 de 8
Raúl Chávez
C.I. 25.541.399
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, registrosy 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
defunciones de librería para realizar todas estas tareas, que normalmente
dependen del sistema operativo.
Originariamente, el manual de referencia del lenguaje para el gran público fue
el libro de Kernighan y Ritchie, escrito en 1977. Es un libro que explica y justifica
totalmente el desarrollo de aplicaciones en C, aunque en él se utilizaban
construcciones, en la definición de funciones, que podían provocar confusión y
errores de programación que no eran detectados por el compilador. Como los
tiempos cambian y las necesidades también, en 1983 ANSI establece el comité
X3J11 para que desarrolle una definición moderna y comprensible del C. El
estándar está basado en el manual de referencia original de 1972 y se desarrolla
con el mismo espíritu de sus creadores originales. La primera versión de estándar
se publicó en 1988 y actualmente todos los compiladores utilizan la nueva
definición. Una aportación muy importante de ANSI consiste en la definición de un
conjunto de librerías que acompañan al compilador y de las funciones contenidas
en ellas. Muchas de las operaciones comunes con el sistema operativo se realizan
a través de estas funciones. Una colección de ficheros de encabezamiento,
headers, en los que se definen los tipos de datos y funciones incluidas en cada
librería. Los programas que utilizan estas bibliotecas para interactuar con el
sistema operativo obtendrán un comportamiento equivalente en otro sistema.
CARACTERISTICAS DELLENGUAJE 'C'
El lenguaje 'C' se conoce como un lenguaje compilado. Existen dos tipos de
lenguaje: interpretados y compilados. Los interpretados son aquellos que
necesitan del código fuente para funcionar (P.ej: Basic).Los compilados convierten
el código fuente en un fichero objeto y ‚este en un fichero ejecutable. Este es el
caso del lenguaje 'C'.
Podemos decir que el lenguaje 'C' es un lenguaje de nivel medio, ya que combina
elementos de lenguaje de alto nivel con la funcionalidad del lenguaje ensamblador.
Es un lenguaje estructurado, ya que permite crear procedimientos en bloques
dentro de otros procedimientos. Hay que destacar que el 'C' es un lenguaje
portable, ya que permite utilizar el mismo código en diferentes equipos y sistemas
informáticos: el lenguaje es independiente de la arquitectura de cualquier m quina
en particular.
ESTRUCTURA DE UN PROGRAMAEN 'C'
Estructura
Todo programa en 'C' consta de una o más funciones, una de las cuales se llama
main.
El programa comienza en la función main, desde la cual es posible llamar a otras
funciones.
Cada función estar formada por la cabecera de la función, compuesta por el
nombre de la misma y la lista de argumentos (si los hubiese), la declaración de las
variables a utilizar y la secuencia de sentencias a ejecutar.
ejemplo:
declaraciones globales
main( ) {
variables locales
bloque
}
funcion1( ) {
variables locales
bloque
}
Comentarios
A la hora de programar es conveniente añadir comentarios (cuantos más mejor)
para poder saber que función tiene cada parte del código, en caso de que no lo
utilicemos durante algún tiempo. Además facilitaremos el trabajo a otros
programadores que puedan utilizar nuestro archivo fuente.
Para poner comentarios en un programa escrito en 'C' usamos los símbolos /* y */:
/* Este es un ejemplo de comentario */
/* Un comentario también puede
estar escrito en varias líneas */
El símbolo /* se coloca al principio del comentario y el símbolo */ al final.
El comentario, contenido entre estos dos símbolos, no ser tenido en cuenta por el
compilador.
Palabras clave
Existen una serie de indicadores reservados, con una finalidad determinada, que
no podemos utilizar como identificadores.
A continuación vemos algunas de estas palabras clave:
char int float double if
else do while for switch
short long extern static default
continue break register sizeof typedef
Identificadores
Un identificador es el nombre que damos a las variables y funciones. Está formado
por una secuencia de letras y dígitos, aunque también acepta el carácter de
subrayado _. Por contra no acepta los acentos ni la ñ/Ñ.
El primer carácter de un identificador no puede ser un número, es decir que debe
ser una letra o el símbolo _. Se diferencian las mayúsculas de las minúsculas, así
num, Num y nuM son distintos identificadores.
A continuación vemos algunos ejemplos de identificadores válidos y no válidos:
Válidos No
válidos
_num1 1num
var1 número2
fecha_nac año_na
TIPOS DE DATOS
Tipos
En 'C' existen básicamente cuatro tipos de datos, aunque como se verá después,
podremos definir nuestros propios tipos de datos a partir de estos cuatro. A
continuación se detalla su nombre, el tamaño que ocupa en memoria y el rango de
sus posibles valores.
Tipo Tamaño Rango de valores
char 1 byte -128 a 127
int 2 bytes -32768 a 32767
float 4 bytes 3'4 E-38 a 3'4
E+38
double 8 bytes 1'7 E-308 a 1'7
E+308
Calificadores de tipo
Los calificadores de tipo tienen la misión de modificar el rango de valores de un
determinado tipo de variable.
Estos calificadores son cuatro:
1. signedLe indica a la variable que va a llevar signo. Es el utilizado por
defecto.
2. signed char 1 byte -128 a 127
signed int 2 bytes -32768 a 32767
3. unsignedLe indica a la variable que no va a llevar signo (valor absoluto).
4. unsigned char 1 byte 0 a 255
unsigned int 2 bytes 0 a 65535
5. shortRango de valores en formato corto (limitado).Es el utilizado por
defecto.
6. short char 1 byte -128 a 127
short int 2 bytes -32768 a 32767
7. long
Rango de valores en formato largo (ampliado).
long int 4 bytes -2.147.483.648 a 2.147.483.647
long double 10 bytes -3'36 E-4932 a 1'18 E+4932
También es posible combinar calificadores entre sí:
signed long int = long int = long
unsigned long int = unsigned long 4 bytes 0 a 4.294.967.295
El mayor entero permitido en 'C'
Las variables
Una variable es un tipo de dato, referenciado mediante un identificador (que es el
nombre de la variable). Su contenido podrá ser modificado a lo largo del programa.
Una variable solo puede pertenecer a un tipo de dato. Para poder utilizar una
variable, primero tiene que ser declarada:
[calificador] <tipo> <nombre>;
Es posible inicializar y declarar más de una variable del mismo tipo en la misma
sentencia:
[calificador] <tipo>
<nombre1>,<nombre2>=<valor>,<nombre3>=<valor>,<nombre4>;
¿Dónde se declaran?
Las variables pueden ser de dos tipos según el lugar en que las declaremos:
globales o locales.
La variable global se declara antes de la main( ). Puede ser utilizada en cualquier
parte del programa y se destruye al finalizar éste.
La variable local se declara después de la main( ), en la función en que vaya a ser
utilizada. Sólo existe dentro de la función en que se declara y se destruye al
finalizar dicha función.
El identificador (nombre de la variable) no puede ser una palabra clave y los
caracteres que podemos utilizar son las letras: a-z y A-Z (ojo! la ñ o Ñ no está
permitida), los números: 0-9 y el símbolo de subrayado _. Además hay que tener
en cuenta que el primer carácter no puede ser un número.
Constantes
Al contrario que las variables, las constantes mantienen su valor a lo largo de todo
el programa.
Para indicar al compilador que se trata de una constante, usaremos la
directiva #define:
#define <identificador> <valor>
Observa que no se indica el punto y coma de final de sentencia ni tampoco el tipo
de dato.
La directiva #define no sólo nos permite sustituir un nombre por un valor numérico,
sino también por una cadena de caracteres.
El valor de una constante no puede ser modificado de ninguna manera.
Secuencias de escape
Ciertos caracteres no representados gráficamente se pueden representar
mediante lo que se conoce como secuencia de escape.
A continuación vemos una tabla de las más significativas:
n salto de línea
b retroceso
t tabulación horizontal
v tabulación vertical
 contrabarra
f salto de página
' apóstrofe
" comillas dobles
0 fin de una cadena de
caracteres
Inclusión de Ficheros
En la programación en 'C' es posible utilizar funciones que no estén incluídas en el
propio programa. Para ello utilizamos la directiva #include, que nos permite añadir
librerías o funciones que se encuentran en otros ficheros a nuestro programa.
Para indicar al compilador que vamos a incluir ficheros externos podemos hacerlo
de dos maneras (siempre antes de las declaraciones).
1. Indicándole al compilador la ruta donde se encuentra el fichero.
2. #include "misfunc.h"
3. #include "c:includesmisfunc.h"
4. Indicando que se encuentran en el directorio por defecto del compilador.
5. #include <misfunc.h>
OPERADORES ARITMETICOS, RELACIONALES Y LOGICOS
Operadores aritméticos
Existen dos tipos de operadores aritméticos:
Binarios Unarios
+ Suma ++ Incremento (suma 1)
- Resta
* Multiplicación -- Decremento (resta 1)
/ División
% Módulo (resto) - Cambio de Signo
Operadores relacionales
Son símbolos que se usan para comparar dos valores. Si el resultado de la
comparación es correcto la expresión considerada es verdadera, en caso contrario
es falsa.
Operador nombre ejemplo significado
< menor que a<b a es menor que b
> mayor que a>b a es mayor que b
== igual a a==b a es igual a b
!= no igual a a!=b a no es igual a b
<= menor que o igual a a<=5 a es menor que o igual a b
>= mayor que o igual a a>=b a es menor que o igual a b
Operadores lógicos
Operadores fundamentales en programación son los operadores lógicos o de
comparación. Se usan para comparar dos variables o expresiones y obtener un
valor verdadero o falso. Como operadores de comparación disponemos de:
SÍMBOLO SIGNIFICADO EJEMPLO
= Igual que A = B
> Mayor que A > B
< Menor que A < B
>= Mayor o igual que A >= B
<= Menor o igual que A <= B
<> Distinto que A <> B

Más contenido relacionado

La actualidad más candente

Ejemplo de-simulación-continua
Ejemplo de-simulación-continuaEjemplo de-simulación-continua
Ejemplo de-simulación-continuaLeonardo Rojas
 
¿Como hacer un pseudocodigo y diagrama de flujo?
¿Como hacer un pseudocodigo y diagrama de flujo?¿Como hacer un pseudocodigo y diagrama de flujo?
¿Como hacer un pseudocodigo y diagrama de flujo?grachika
 
Ventajas y desventajas de la simulacion
Ventajas y desventajas de la simulacionVentajas y desventajas de la simulacion
Ventajas y desventajas de la simulacionlulu0709
 
Arrays Bidimensionales y Multidimensionales - Carlos Correa
Arrays Bidimensionales y Multidimensionales - Carlos CorreaArrays Bidimensionales y Multidimensionales - Carlos Correa
Arrays Bidimensionales y Multidimensionales - Carlos CorreaCarlitos Correa Jr.
 
Ciclo de vida de un sistema de información
Ciclo de vida de un sistema de informaciónCiclo de vida de un sistema de información
Ciclo de vida de un sistema de informaciónJuan Pablo Bustos Thames
 
Simulación - Unidad 4 Lenguajes de Simulación (Promodel)
Simulación - Unidad 4 Lenguajes de Simulación (Promodel)Simulación - Unidad 4 Lenguajes de Simulación (Promodel)
Simulación - Unidad 4 Lenguajes de Simulación (Promodel)José Antonio Sandoval Acosta
 
Documentación de sistemas
Documentación de sistemasDocumentación de sistemas
Documentación de sistemasGladys Rodriguez
 
Requerimiento funcional y no funcional
Requerimiento funcional y no funcional Requerimiento funcional y no funcional
Requerimiento funcional y no funcional CristobalFicaV
 
Introducción a la Ingenieria de Software
Introducción a la Ingenieria de SoftwareIntroducción a la Ingenieria de Software
Introducción a la Ingenieria de SoftwareSorey García
 
Externalizacion e internacionalizacion de costos
Externalizacion e internacionalizacion de costosExternalizacion e internacionalizacion de costos
Externalizacion e internacionalizacion de costosLuiS YmAY
 
Metodologías de Desarrollo de Software Tradicionales y Emergentes
Metodologías de Desarrollo de Software Tradicionales y EmergentesMetodologías de Desarrollo de Software Tradicionales y Emergentes
Metodologías de Desarrollo de Software Tradicionales y EmergentesMiguel Rodríguez
 

La actualidad más candente (20)

Elementos basicos c
Elementos basicos cElementos basicos c
Elementos basicos c
 
Ejemplo de-simulación-continua
Ejemplo de-simulación-continuaEjemplo de-simulación-continua
Ejemplo de-simulación-continua
 
Estructura switch case
Estructura switch caseEstructura switch case
Estructura switch case
 
¿Como hacer un pseudocodigo y diagrama de flujo?
¿Como hacer un pseudocodigo y diagrama de flujo?¿Como hacer un pseudocodigo y diagrama de flujo?
¿Como hacer un pseudocodigo y diagrama de flujo?
 
Algoritmo Secuenciales
Algoritmo SecuencialesAlgoritmo Secuenciales
Algoritmo Secuenciales
 
Ventajas y desventajas de la simulacion
Ventajas y desventajas de la simulacionVentajas y desventajas de la simulacion
Ventajas y desventajas de la simulacion
 
Simulacion t1
Simulacion t1Simulacion t1
Simulacion t1
 
metodología crystal clear
 metodología crystal clear metodología crystal clear
metodología crystal clear
 
Simulacion-unidad 1
Simulacion-unidad 1Simulacion-unidad 1
Simulacion-unidad 1
 
Arrays Bidimensionales y Multidimensionales - Carlos Correa
Arrays Bidimensionales y Multidimensionales - Carlos CorreaArrays Bidimensionales y Multidimensionales - Carlos Correa
Arrays Bidimensionales y Multidimensionales - Carlos Correa
 
Ciclo de vida de un sistema de información
Ciclo de vida de un sistema de informaciónCiclo de vida de un sistema de información
Ciclo de vida de un sistema de información
 
Algoritmos y programacion
Algoritmos y programacionAlgoritmos y programacion
Algoritmos y programacion
 
Simulación - Unidad 4 Lenguajes de Simulación (Promodel)
Simulación - Unidad 4 Lenguajes de Simulación (Promodel)Simulación - Unidad 4 Lenguajes de Simulación (Promodel)
Simulación - Unidad 4 Lenguajes de Simulación (Promodel)
 
Documentación de sistemas
Documentación de sistemasDocumentación de sistemas
Documentación de sistemas
 
Requerimiento funcional y no funcional
Requerimiento funcional y no funcional Requerimiento funcional y no funcional
Requerimiento funcional y no funcional
 
Introducción a la Ingenieria de Software
Introducción a la Ingenieria de SoftwareIntroducción a la Ingenieria de Software
Introducción a la Ingenieria de Software
 
Proceso del Software
Proceso del Software Proceso del Software
Proceso del Software
 
Externalizacion e internacionalizacion de costos
Externalizacion e internacionalizacion de costosExternalizacion e internacionalizacion de costos
Externalizacion e internacionalizacion de costos
 
Metodologías de Desarrollo de Software Tradicionales y Emergentes
Metodologías de Desarrollo de Software Tradicionales y EmergentesMetodologías de Desarrollo de Software Tradicionales y Emergentes
Metodologías de Desarrollo de Software Tradicionales y Emergentes
 
Modelo de Simulacion
Modelo de SimulacionModelo de Simulacion
Modelo de Simulacion
 

Destacado

RESUMEN DE JAVASCRIPT
RESUMEN DE JAVASCRIPTRESUMEN DE JAVASCRIPT
RESUMEN DE JAVASCRIPTAlejito Laaz
 
Ensayo de programacion i.
Ensayo de programacion i.Ensayo de programacion i.
Ensayo de programacion i.Dixon Pirela
 
jQuery - 01 Conceptos básicos de java script
jQuery - 01 Conceptos básicos de java scriptjQuery - 01 Conceptos básicos de java script
jQuery - 01 Conceptos básicos de java scriptJacob Flores
 
Ensayo base de datos
Ensayo base de datosEnsayo base de datos
Ensayo base de datosluisinojosa
 
Ensayo sobre la informatica
Ensayo sobre la informaticaEnsayo sobre la informatica
Ensayo sobre la informaticajuliandhm
 
Resumen introduccion a la programacion
Resumen introduccion a la programacionResumen introduccion a la programacion
Resumen introduccion a la programacionVictor Galicia
 
Ensayo I: La informática en la enseñanza educativa
Ensayo I: La informática en la enseñanza educativaEnsayo I: La informática en la enseñanza educativa
Ensayo I: La informática en la enseñanza educativaJose Acevedo
 
Lenguaje De Programacion
Lenguaje De ProgramacionLenguaje De Programacion
Lenguaje De Programacionmilko09
 
Soirée 1 Workshop administratif : Certificat d’aptitude pour le permis C
Soirée 1 Workshop administratif : Certificat d’aptitude pour le permis CSoirée 1 Workshop administratif : Certificat d’aptitude pour le permis C
Soirée 1 Workshop administratif : Certificat d’aptitude pour le permis CCollège des Prodcuteurs
 
Stratégie commerciale
Stratégie commercialeStratégie commerciale
Stratégie commercialeCyrille Morel
 
Informations sociales et négociations sectorielles
Informations sociales et négociations sectoriellesInformations sociales et négociations sectorielles
Informations sociales et négociations sectoriellesCollège des Prodcuteurs
 
7. juan pablopresentación.
7.  juan pablopresentación.7.  juan pablopresentación.
7. juan pablopresentación.JuanPagf111
 

Destacado (20)

RESUMEN DE JAVASCRIPT
RESUMEN DE JAVASCRIPTRESUMEN DE JAVASCRIPT
RESUMEN DE JAVASCRIPT
 
Ensayo de programacion i.
Ensayo de programacion i.Ensayo de programacion i.
Ensayo de programacion i.
 
jQuery - 01 Conceptos básicos de java script
jQuery - 01 Conceptos básicos de java scriptjQuery - 01 Conceptos básicos de java script
jQuery - 01 Conceptos básicos de java script
 
Ensayo electronica
Ensayo electronicaEnsayo electronica
Ensayo electronica
 
Ensayo base de datos
Ensayo base de datosEnsayo base de datos
Ensayo base de datos
 
Ensayo Video Home
Ensayo Video HomeEnsayo Video Home
Ensayo Video Home
 
Ensayo sobre la informatica
Ensayo sobre la informaticaEnsayo sobre la informatica
Ensayo sobre la informatica
 
Ensayo informatica pdf
Ensayo informatica pdfEnsayo informatica pdf
Ensayo informatica pdf
 
Javascript
JavascriptJavascript
Javascript
 
Ensayo de base de datos
Ensayo de base de datosEnsayo de base de datos
Ensayo de base de datos
 
Presentación JavaScript
Presentación JavaScriptPresentación JavaScript
Presentación JavaScript
 
Resumen introduccion a la programacion
Resumen introduccion a la programacionResumen introduccion a la programacion
Resumen introduccion a la programacion
 
Ensayo I: La informática en la enseñanza educativa
Ensayo I: La informática en la enseñanza educativaEnsayo I: La informática en la enseñanza educativa
Ensayo I: La informática en la enseñanza educativa
 
Lenguaje De Programacion
Lenguaje De ProgramacionLenguaje De Programacion
Lenguaje De Programacion
 
Soirée 1 Workshop administratif : Certificat d’aptitude pour le permis C
Soirée 1 Workshop administratif : Certificat d’aptitude pour le permis CSoirée 1 Workshop administratif : Certificat d’aptitude pour le permis C
Soirée 1 Workshop administratif : Certificat d’aptitude pour le permis C
 
Only God Knows
Only God KnowsOnly God Knows
Only God Knows
 
Stratégie commerciale
Stratégie commercialeStratégie commerciale
Stratégie commerciale
 
Informations sociales et négociations sectorielles
Informations sociales et négociations sectoriellesInformations sociales et négociations sectorielles
Informations sociales et négociations sectorielles
 
Enrique
EnriqueEnrique
Enrique
 
7. juan pablopresentación.
7.  juan pablopresentación.7.  juan pablopresentación.
7. juan pablopresentación.
 

Similar a Ensayo de programacion c

Introduccion al lenguaje c
Introduccion al lenguaje cIntroduccion al lenguaje c
Introduccion al lenguaje cvictdiazm
 
Manual de Programación c/c++ Ricky Bonilla
Manual de Programación c/c++ Ricky BonillaManual de Programación c/c++ Ricky Bonilla
Manual de Programación c/c++ Ricky BonillaEstudiantes ISI_UCA
 
Lenguaje de la programación orientada a objetos c#
Lenguaje de la programación orientada a objetos c#Lenguaje de la programación orientada a objetos c#
Lenguaje de la programación orientada a objetos c#Juan Carlos Prieto
 
C ++ Estatutos ciclos
C ++ Estatutos ciclosC ++ Estatutos ciclos
C ++ Estatutos ciclosernest1960
 
manual básico de programación en c
manual básico de programación en c manual básico de programación en c
manual básico de programación en c Liz O
 
Generalidades de la programacion
Generalidades de la programacionGeneralidades de la programacion
Generalidades de la programacionDiego Rojas
 
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
 
Tutorial de visual c++
Tutorial de visual c++Tutorial de visual c++
Tutorial de visual c++juliancetis109
 
Tutorial de visual C++
Tutorial de visual C++Tutorial de visual C++
Tutorial de visual C++juliancetis109
 
Tutorial de visual_c_
Tutorial de visual_c_Tutorial de visual_c_
Tutorial de visual_c_oscar020615
 
Tutorial de visual c++
Tutorial de visual c++Tutorial de visual c++
Tutorial de visual c++oscar020615
 

Similar a Ensayo de programacion c (20)

Introduccion al lenguaje c
Introduccion al lenguaje cIntroduccion al lenguaje c
Introduccion al lenguaje c
 
Manual de Programación c/c++ Ricky Bonilla
Manual de Programación c/c++ Ricky BonillaManual de Programación c/c++ Ricky Bonilla
Manual de Programación c/c++ Ricky Bonilla
 
Lenguaje c 1
Lenguaje c 1Lenguaje c 1
Lenguaje c 1
 
Lenguaje C
Lenguaje CLenguaje C
Lenguaje C
 
Unidad 2
Unidad 2Unidad 2
Unidad 2
 
Lenguaje C
Lenguaje CLenguaje C
Lenguaje C
 
Lenguaje de la programación orientada a objetos c#
Lenguaje de la programación orientada a objetos c#Lenguaje de la programación orientada a objetos c#
Lenguaje de la programación orientada a objetos c#
 
Introduccion del Lenguaje C
Introduccion del Lenguaje CIntroduccion del Lenguaje C
Introduccion del Lenguaje C
 
C ++ Estatutos ciclos
C ++ Estatutos ciclosC ++ Estatutos ciclos
C ++ Estatutos ciclos
 
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
 
Informe.
Informe.Informe.
Informe.
 
manual básico de programación en c
manual básico de programación en c manual básico de programación en c
manual básico de programación en c
 
Generalidades de la programacion
Generalidades de la programacionGeneralidades de la programacion
Generalidades de la programacion
 
Unmsm02 2008
Unmsm02 2008Unmsm02 2008
Unmsm02 2008
 
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
 
Tutorial de visual c++
Tutorial de visual c++Tutorial de visual c++
Tutorial de visual c++
 
Tutorial de visual C++
Tutorial de visual C++Tutorial de visual C++
Tutorial de visual C++
 
Tutorial de visual_c_
Tutorial de visual_c_Tutorial de visual_c_
Tutorial de visual_c_
 
Tutorial de visual c++
Tutorial de visual c++Tutorial de visual c++
Tutorial de visual c++
 

Último

PROCESO ADMINISTRATIVO Proceso administrativo de enfermería desde sus bases, ...
PROCESO ADMINISTRATIVO Proceso administrativo de enfermería desde sus bases, ...PROCESO ADMINISTRATIVO Proceso administrativo de enfermería desde sus bases, ...
PROCESO ADMINISTRATIVO Proceso administrativo de enfermería desde sus bases, ...albertodeleon1786
 
Catálogo Mayo en Artelife Regalería Cristiana
Catálogo Mayo en Artelife Regalería CristianaCatálogo Mayo en Artelife Regalería Cristiana
Catálogo Mayo en Artelife Regalería Cristianasomosartelife
 
PRÁCTICA 5 BQ METABOLISMO DE COLESTEROL Y TRIGLICÉRIDOS.ppt
PRÁCTICA 5 BQ  METABOLISMO DE COLESTEROL Y TRIGLICÉRIDOS.pptPRÁCTICA 5 BQ  METABOLISMO DE COLESTEROL Y TRIGLICÉRIDOS.ppt
PRÁCTICA 5 BQ METABOLISMO DE COLESTEROL Y TRIGLICÉRIDOS.pptsalazarangela643
 
diagrama sinóptico dcerfghjsxdcfvgbhnjdcf
diagrama sinóptico dcerfghjsxdcfvgbhnjdcfdiagrama sinóptico dcerfghjsxdcfvgbhnjdcf
diagrama sinóptico dcerfghjsxdcfvgbhnjdcfDreydyAvila
 
PRIMER EXAMEN_merged (3).pdfdsadsadasdasd
PRIMER EXAMEN_merged (3).pdfdsadsadasdasdPRIMER EXAMEN_merged (3).pdfdsadsadasdasd
PRIMER EXAMEN_merged (3).pdfdsadsadasdasdpachecojean639
 
Burger- la negación de la autonomia del arte en la vanguardia.pdf
Burger- la negación de la autonomia del arte en la vanguardia.pdfBurger- la negación de la autonomia del arte en la vanguardia.pdf
Burger- la negación de la autonomia del arte en la vanguardia.pdfAgusSonis
 
Cuadernillobdjjdjdjdjjdjdkdkkdjdjfujfjfj
CuadernillobdjjdjdjdjjdjdkdkkdjdjfujfjfjCuadernillobdjjdjdjdjjdjdkdkkdjdjfujfjfj
CuadernillobdjjdjdjdjjdjdkdkkdjdjfujfjfjLuisMartinez556504
 
Unitario - Serie Fotográfica - Emmanuel Toloza Pineda
Unitario - Serie Fotográfica - Emmanuel Toloza PinedaUnitario - Serie Fotográfica - Emmanuel Toloza Pineda
Unitario - Serie Fotográfica - Emmanuel Toloza PinedaEmmanuel Toloza
 
Supremacia de la Constitucion 2024.pptxm
Supremacia de la Constitucion 2024.pptxmSupremacia de la Constitucion 2024.pptxm
Supremacia de la Constitucion 2024.pptxmolivayasser2
 
Origen del Hombre- cuadro comparativo 5to Sec
Origen del Hombre- cuadro comparativo 5to SecOrigen del Hombre- cuadro comparativo 5to Sec
Origen del Hombre- cuadro comparativo 5to Secssuser50da781
 
Arribando a la concreción II. Títulos en inglés, alemán y español
Arribando a la concreción II. Títulos en inglés, alemán y españolArribando a la concreción II. Títulos en inglés, alemán y español
Arribando a la concreción II. Títulos en inglés, alemán y españolLuis José Ferreira Calvo
 
Presentación Foto Siluetas para curso de fotografía básica
Presentación Foto Siluetas para curso de fotografía básicaPresentación Foto Siluetas para curso de fotografía básica
Presentación Foto Siluetas para curso de fotografía básicakcajbonvm
 
LAVADO DE MANOS TRIPTICO modelos de.docx
LAVADO DE MANOS TRIPTICO modelos de.docxLAVADO DE MANOS TRIPTICO modelos de.docx
LAVADO DE MANOS TRIPTICO modelos de.docxJheissonAriasSalazar
 
Geometría para alumnos de segundo medio A
Geometría para alumnos de segundo medio AGeometría para alumnos de segundo medio A
Geometría para alumnos de segundo medio APabloBascur3
 
como me enamore de ti (1).pdf.pdf_20240401_120711_0000.pdf
como me enamore de ti (1).pdf.pdf_20240401_120711_0000.pdfcomo me enamore de ti (1).pdf.pdf_20240401_120711_0000.pdf
como me enamore de ti (1).pdf.pdf_20240401_120711_0000.pdfleonar947720602
 
EXPONENTES DEL MODERNISMO-VIRGINIA PRIETO.pdf
EXPONENTES DEL MODERNISMO-VIRGINIA PRIETO.pdfEXPONENTES DEL MODERNISMO-VIRGINIA PRIETO.pdf
EXPONENTES DEL MODERNISMO-VIRGINIA PRIETO.pdfVirginiaPrieto1
 
Infografia de El Minierismo reflejado en la Arquitectura
Infografia de El Minierismo reflejado en la ArquitecturaInfografia de El Minierismo reflejado en la Arquitectura
Infografia de El Minierismo reflejado en la Arquitecturafrenyergt23
 

Último (17)

PROCESO ADMINISTRATIVO Proceso administrativo de enfermería desde sus bases, ...
PROCESO ADMINISTRATIVO Proceso administrativo de enfermería desde sus bases, ...PROCESO ADMINISTRATIVO Proceso administrativo de enfermería desde sus bases, ...
PROCESO ADMINISTRATIVO Proceso administrativo de enfermería desde sus bases, ...
 
Catálogo Mayo en Artelife Regalería Cristiana
Catálogo Mayo en Artelife Regalería CristianaCatálogo Mayo en Artelife Regalería Cristiana
Catálogo Mayo en Artelife Regalería Cristiana
 
PRÁCTICA 5 BQ METABOLISMO DE COLESTEROL Y TRIGLICÉRIDOS.ppt
PRÁCTICA 5 BQ  METABOLISMO DE COLESTEROL Y TRIGLICÉRIDOS.pptPRÁCTICA 5 BQ  METABOLISMO DE COLESTEROL Y TRIGLICÉRIDOS.ppt
PRÁCTICA 5 BQ METABOLISMO DE COLESTEROL Y TRIGLICÉRIDOS.ppt
 
diagrama sinóptico dcerfghjsxdcfvgbhnjdcf
diagrama sinóptico dcerfghjsxdcfvgbhnjdcfdiagrama sinóptico dcerfghjsxdcfvgbhnjdcf
diagrama sinóptico dcerfghjsxdcfvgbhnjdcf
 
PRIMER EXAMEN_merged (3).pdfdsadsadasdasd
PRIMER EXAMEN_merged (3).pdfdsadsadasdasdPRIMER EXAMEN_merged (3).pdfdsadsadasdasd
PRIMER EXAMEN_merged (3).pdfdsadsadasdasd
 
Burger- la negación de la autonomia del arte en la vanguardia.pdf
Burger- la negación de la autonomia del arte en la vanguardia.pdfBurger- la negación de la autonomia del arte en la vanguardia.pdf
Burger- la negación de la autonomia del arte en la vanguardia.pdf
 
Cuadernillobdjjdjdjdjjdjdkdkkdjdjfujfjfj
CuadernillobdjjdjdjdjjdjdkdkkdjdjfujfjfjCuadernillobdjjdjdjdjjdjdkdkkdjdjfujfjfj
Cuadernillobdjjdjdjdjjdjdkdkkdjdjfujfjfj
 
Unitario - Serie Fotográfica - Emmanuel Toloza Pineda
Unitario - Serie Fotográfica - Emmanuel Toloza PinedaUnitario - Serie Fotográfica - Emmanuel Toloza Pineda
Unitario - Serie Fotográfica - Emmanuel Toloza Pineda
 
Supremacia de la Constitucion 2024.pptxm
Supremacia de la Constitucion 2024.pptxmSupremacia de la Constitucion 2024.pptxm
Supremacia de la Constitucion 2024.pptxm
 
Origen del Hombre- cuadro comparativo 5to Sec
Origen del Hombre- cuadro comparativo 5to SecOrigen del Hombre- cuadro comparativo 5to Sec
Origen del Hombre- cuadro comparativo 5to Sec
 
Arribando a la concreción II. Títulos en inglés, alemán y español
Arribando a la concreción II. Títulos en inglés, alemán y españolArribando a la concreción II. Títulos en inglés, alemán y español
Arribando a la concreción II. Títulos en inglés, alemán y español
 
Presentación Foto Siluetas para curso de fotografía básica
Presentación Foto Siluetas para curso de fotografía básicaPresentación Foto Siluetas para curso de fotografía básica
Presentación Foto Siluetas para curso de fotografía básica
 
LAVADO DE MANOS TRIPTICO modelos de.docx
LAVADO DE MANOS TRIPTICO modelos de.docxLAVADO DE MANOS TRIPTICO modelos de.docx
LAVADO DE MANOS TRIPTICO modelos de.docx
 
Geometría para alumnos de segundo medio A
Geometría para alumnos de segundo medio AGeometría para alumnos de segundo medio A
Geometría para alumnos de segundo medio A
 
como me enamore de ti (1).pdf.pdf_20240401_120711_0000.pdf
como me enamore de ti (1).pdf.pdf_20240401_120711_0000.pdfcomo me enamore de ti (1).pdf.pdf_20240401_120711_0000.pdf
como me enamore de ti (1).pdf.pdf_20240401_120711_0000.pdf
 
EXPONENTES DEL MODERNISMO-VIRGINIA PRIETO.pdf
EXPONENTES DEL MODERNISMO-VIRGINIA PRIETO.pdfEXPONENTES DEL MODERNISMO-VIRGINIA PRIETO.pdf
EXPONENTES DEL MODERNISMO-VIRGINIA PRIETO.pdf
 
Infografia de El Minierismo reflejado en la Arquitectura
Infografia de El Minierismo reflejado en la ArquitecturaInfografia de El Minierismo reflejado en la Arquitectura
Infografia de El Minierismo reflejado en la Arquitectura
 

Ensayo de programacion c

  • 1. Raúl Chávez C.I. 25.541.399 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, registrosy 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
  • 2. defunciones de librería para realizar todas estas tareas, que normalmente dependen del sistema operativo. Originariamente, el manual de referencia del lenguaje para el gran público fue el libro de Kernighan y Ritchie, escrito en 1977. Es un libro que explica y justifica totalmente el desarrollo de aplicaciones en C, aunque en él se utilizaban construcciones, en la definición de funciones, que podían provocar confusión y errores de programación que no eran detectados por el compilador. Como los tiempos cambian y las necesidades también, en 1983 ANSI establece el comité X3J11 para que desarrolle una definición moderna y comprensible del C. El estándar está basado en el manual de referencia original de 1972 y se desarrolla con el mismo espíritu de sus creadores originales. La primera versión de estándar se publicó en 1988 y actualmente todos los compiladores utilizan la nueva definición. Una aportación muy importante de ANSI consiste en la definición de un conjunto de librerías que acompañan al compilador y de las funciones contenidas en ellas. Muchas de las operaciones comunes con el sistema operativo se realizan a través de estas funciones. Una colección de ficheros de encabezamiento, headers, en los que se definen los tipos de datos y funciones incluidas en cada librería. Los programas que utilizan estas bibliotecas para interactuar con el sistema operativo obtendrán un comportamiento equivalente en otro sistema. CARACTERISTICAS DELLENGUAJE 'C' El lenguaje 'C' se conoce como un lenguaje compilado. Existen dos tipos de lenguaje: interpretados y compilados. Los interpretados son aquellos que necesitan del código fuente para funcionar (P.ej: Basic).Los compilados convierten el código fuente en un fichero objeto y ‚este en un fichero ejecutable. Este es el caso del lenguaje 'C'. Podemos decir que el lenguaje 'C' es un lenguaje de nivel medio, ya que combina elementos de lenguaje de alto nivel con la funcionalidad del lenguaje ensamblador. Es un lenguaje estructurado, ya que permite crear procedimientos en bloques dentro de otros procedimientos. Hay que destacar que el 'C' es un lenguaje portable, ya que permite utilizar el mismo código en diferentes equipos y sistemas informáticos: el lenguaje es independiente de la arquitectura de cualquier m quina en particular. ESTRUCTURA DE UN PROGRAMAEN 'C' Estructura Todo programa en 'C' consta de una o más funciones, una de las cuales se llama main. El programa comienza en la función main, desde la cual es posible llamar a otras funciones. Cada función estar formada por la cabecera de la función, compuesta por el
  • 3. nombre de la misma y la lista de argumentos (si los hubiese), la declaración de las variables a utilizar y la secuencia de sentencias a ejecutar. ejemplo: declaraciones globales main( ) { variables locales bloque } funcion1( ) { variables locales bloque } Comentarios A la hora de programar es conveniente añadir comentarios (cuantos más mejor) para poder saber que función tiene cada parte del código, en caso de que no lo utilicemos durante algún tiempo. Además facilitaremos el trabajo a otros programadores que puedan utilizar nuestro archivo fuente. Para poner comentarios en un programa escrito en 'C' usamos los símbolos /* y */: /* Este es un ejemplo de comentario */ /* Un comentario también puede estar escrito en varias líneas */ El símbolo /* se coloca al principio del comentario y el símbolo */ al final. El comentario, contenido entre estos dos símbolos, no ser tenido en cuenta por el compilador. Palabras clave Existen una serie de indicadores reservados, con una finalidad determinada, que no podemos utilizar como identificadores. A continuación vemos algunas de estas palabras clave: char int float double if else do while for switch short long extern static default continue break register sizeof typedef Identificadores Un identificador es el nombre que damos a las variables y funciones. Está formado por una secuencia de letras y dígitos, aunque también acepta el carácter de
  • 4. subrayado _. Por contra no acepta los acentos ni la ñ/Ñ. El primer carácter de un identificador no puede ser un número, es decir que debe ser una letra o el símbolo _. Se diferencian las mayúsculas de las minúsculas, así num, Num y nuM son distintos identificadores. A continuación vemos algunos ejemplos de identificadores válidos y no válidos: Válidos No válidos _num1 1num var1 número2 fecha_nac año_na TIPOS DE DATOS Tipos En 'C' existen básicamente cuatro tipos de datos, aunque como se verá después, podremos definir nuestros propios tipos de datos a partir de estos cuatro. A continuación se detalla su nombre, el tamaño que ocupa en memoria y el rango de sus posibles valores. Tipo Tamaño Rango de valores char 1 byte -128 a 127 int 2 bytes -32768 a 32767 float 4 bytes 3'4 E-38 a 3'4 E+38 double 8 bytes 1'7 E-308 a 1'7 E+308 Calificadores de tipo Los calificadores de tipo tienen la misión de modificar el rango de valores de un determinado tipo de variable. Estos calificadores son cuatro: 1. signedLe indica a la variable que va a llevar signo. Es el utilizado por defecto. 2. signed char 1 byte -128 a 127 signed int 2 bytes -32768 a 32767 3. unsignedLe indica a la variable que no va a llevar signo (valor absoluto).
  • 5. 4. unsigned char 1 byte 0 a 255 unsigned int 2 bytes 0 a 65535 5. shortRango de valores en formato corto (limitado).Es el utilizado por defecto. 6. short char 1 byte -128 a 127 short int 2 bytes -32768 a 32767 7. long Rango de valores en formato largo (ampliado). long int 4 bytes -2.147.483.648 a 2.147.483.647 long double 10 bytes -3'36 E-4932 a 1'18 E+4932 También es posible combinar calificadores entre sí: signed long int = long int = long unsigned long int = unsigned long 4 bytes 0 a 4.294.967.295 El mayor entero permitido en 'C' Las variables Una variable es un tipo de dato, referenciado mediante un identificador (que es el nombre de la variable). Su contenido podrá ser modificado a lo largo del programa. Una variable solo puede pertenecer a un tipo de dato. Para poder utilizar una variable, primero tiene que ser declarada: [calificador] <tipo> <nombre>; Es posible inicializar y declarar más de una variable del mismo tipo en la misma sentencia: [calificador] <tipo> <nombre1>,<nombre2>=<valor>,<nombre3>=<valor>,<nombre4>; ¿Dónde se declaran? Las variables pueden ser de dos tipos según el lugar en que las declaremos: globales o locales. La variable global se declara antes de la main( ). Puede ser utilizada en cualquier parte del programa y se destruye al finalizar éste. La variable local se declara después de la main( ), en la función en que vaya a ser utilizada. Sólo existe dentro de la función en que se declara y se destruye al
  • 6. finalizar dicha función. El identificador (nombre de la variable) no puede ser una palabra clave y los caracteres que podemos utilizar son las letras: a-z y A-Z (ojo! la ñ o Ñ no está permitida), los números: 0-9 y el símbolo de subrayado _. Además hay que tener en cuenta que el primer carácter no puede ser un número. Constantes Al contrario que las variables, las constantes mantienen su valor a lo largo de todo el programa. Para indicar al compilador que se trata de una constante, usaremos la directiva #define: #define <identificador> <valor> Observa que no se indica el punto y coma de final de sentencia ni tampoco el tipo de dato. La directiva #define no sólo nos permite sustituir un nombre por un valor numérico, sino también por una cadena de caracteres. El valor de una constante no puede ser modificado de ninguna manera. Secuencias de escape Ciertos caracteres no representados gráficamente se pueden representar mediante lo que se conoce como secuencia de escape. A continuación vemos una tabla de las más significativas: n salto de línea b retroceso t tabulación horizontal v tabulación vertical contrabarra f salto de página ' apóstrofe " comillas dobles 0 fin de una cadena de caracteres Inclusión de Ficheros En la programación en 'C' es posible utilizar funciones que no estén incluídas en el propio programa. Para ello utilizamos la directiva #include, que nos permite añadir librerías o funciones que se encuentran en otros ficheros a nuestro programa.
  • 7. Para indicar al compilador que vamos a incluir ficheros externos podemos hacerlo de dos maneras (siempre antes de las declaraciones). 1. Indicándole al compilador la ruta donde se encuentra el fichero. 2. #include "misfunc.h" 3. #include "c:includesmisfunc.h" 4. Indicando que se encuentran en el directorio por defecto del compilador. 5. #include <misfunc.h> OPERADORES ARITMETICOS, RELACIONALES Y LOGICOS Operadores aritméticos Existen dos tipos de operadores aritméticos: Binarios Unarios + Suma ++ Incremento (suma 1) - Resta * Multiplicación -- Decremento (resta 1) / División % Módulo (resto) - Cambio de Signo Operadores relacionales Son símbolos que se usan para comparar dos valores. Si el resultado de la comparación es correcto la expresión considerada es verdadera, en caso contrario es falsa. Operador nombre ejemplo significado < menor que a<b a es menor que b > mayor que a>b a es mayor que b == igual a a==b a es igual a b != no igual a a!=b a no es igual a b <= menor que o igual a a<=5 a es menor que o igual a b >= mayor que o igual a a>=b a es menor que o igual a b
  • 8. Operadores lógicos Operadores fundamentales en programación son los operadores lógicos o de comparación. Se usan para comparar dos variables o expresiones y obtener un valor verdadero o falso. Como operadores de comparación disponemos de: SÍMBOLO SIGNIFICADO EJEMPLO = Igual que A = B > Mayor que A > B < Menor que A < B >= Mayor o igual que A >= B <= Menor o igual que A <= B <> Distinto que A <> B