Documente Academic
Documente Profesional
Documente Cultură
Programaci on I
Clase 3: Tipo de datos, variables y constantes Jos e Luis Allende Carlos Contreras Carlos Rey
Universidad Andr es Bello
Tamara S aez
20 de Marzo de 2014
Jos e Luis Allende Carlos Contreras Bolton Tamara S aez Carlos Rey Programaci on I
1/20
Tabla de Contenidos
Jos e Luis Allende Carlos Contreras Bolton Tamara S aez Carlos Rey Programaci on I
2/20
Introducci on
Jos e Luis Allende Carlos Contreras Bolton Tamara S aez Carlos Rey Programaci on I
3/20
Lenguaje a utilizar
Jos e Luis Allende Carlos Contreras Bolton Tamara S aez Carlos Rey Programaci on I
4/20
C
Es un lenguaje de programaci on creado a principios de los 70 (1972) por Dennis M. Ritchie en los Laboratorios Bell. Naci o con el objetivo de implementar Sistemas Operativos, concretamente Unix. Se trata de un lenguaje de tipos de datos est aticos, d ebilmente tipicado, de medio nivel pero con muchas caracter sticas de bajo nivel. Dispone de las estructuras t picas de los lenguajes de alto nivel pero, a su vez, dispone de construcciones del lenguaje que permiten un control a muy bajo nivel. Los compiladores suelen ofrecer extensiones al lenguaje que posibilitan mezclar c odigo en ensamblador con c odigo C o acceder directamente a memoria o dispositivos perif ericos.
Jos e Luis Allende Carlos Contreras Bolton Tamara S aez Carlos Rey Programaci on I 5/20
Primer Programa
C
C
1 #i n c l u d e s t d i o . h 2 3 / I m p r i m e un m e n s a j e / 4 i n t main ( i n t a r g c , c h a r a r g v [ ] ) 5 { 6 p r i n t f ( H o la d e s d e C\ n ) ; 7 return 0; 8 }
Jos e Luis Allende Carlos Contreras Bolton Tamara S aez Carlos Rey Programaci on I
6/20
Tipos de Datos
En matem aticas podemos hablar de n umeros naturales, enteros, reales, etc. Todos esos n umeros son de distinto tipo, pues tienen distintas caracter sticas y propiedades. En programaci on ocurre algo similar, aunque necesitamos preocuparnos no solo de las propiedades de los n umeros, sino tambi en de su tama no en memoria. Adem as, debemos poder almacenar datos de texto o de operaciones l ogicas. As , podemos hablar de diferentes tipos de datos.
Jos e Luis Allende Carlos Contreras Bolton Tamara S aez Carlos Rey Programaci on I
7/20
Tipos de Datos
Enteros
Comencemos con los n umeros enteros: char: Por convenci on, se debe utilizar el tipo de datos char espec camente para el almacenamiento de caracteres ASCII (como m), incluyendo secuencias de escape (por ejemplo,\n).
Jos e Luis Allende Carlos Contreras Bolton Tamara S aez Carlos Rey Programaci on I
8/20
Tipos de Datos
Enteros en C
short: entero de 2 bytes. Su rango de valores va desde -32.768 hasta 32.767. int: entero de 4 bytes. Su rango de valores va desde -2.147.483.648 hasta 2.147.483.647. Tambi en, se puede hacer referencia con signed int o signed. unsigned int: entero de 4 bytes. Su rango de valores va desde 0 hasta 4.294.967.295. Tambi en, se puede hace referencia con un simple unsigned. long int: entero de 4 bytes. Su rango de valores va desde -2.147.483.648 hasta 2.147.483.647. En caso que el sistema sea de 64-bit, el rango va desde -9.223.372.036.854.775.808 hasta 9.223.372.036.854.775.807. Tambi en, se puede hacer referencia con un simple long, signed long int, signed long.
Jos e Luis Allende Carlos Contreras Bolton Tamara S aez Carlos Rey Programaci on I 9/20
Tipos de Datos
Debemos tener cuidado al elegir el tama no de un entero:
Si es muy peque no, el programa puede dejar de funcionar porque el valor que queremos guardar no cabe. Si es muy grande, desperdiciamos memoria.
Tambi en podemos usar n umeros reales o casi reales. En programaci on en realidad tenemos n umeros de punto otante. Se llaman as porque var a el espacio que se usa para guardar la parte entera y la parte decimal. Son parecidos a la notaci on cient ca. No podemos usar decimales innitos, por lo que puede haber error de precisi on.
Jos e Luis Allende Carlos Contreras Bolton Tamara S aez Carlos Rey Programaci on I
10/20
Tipos de Datos
Valore reales y otros en C
Los tipos de datos habituales para trabajar con valores reales son: float: n umero de punto otante de 4 byte. double: n umero de punto otante de 8 byte. long double: n umero de punto otante de 12 byte. Se ocupa el est andar IEEE 754 para la precisi on. Otros tipos de datos: boolean: solo permite dos valores, verdadero (true) y falso (false). Sirven para evaluar condiciones. Se debe usar stdbool.h. complex: Los n umeros complejos son aquellos que tienen parte imaginaria. Se debe usar complex.h.
Jos e Luis Allende Carlos Contreras Bolton Tamara S aez Carlos Rey Programaci on I 11/20
Variables y constantes
Es como cuando en matem aticas tenemos la siguiente ecuaci on: p =2r p y r son valores que pueden cambiar. 2 y , en cambio, siempre tienen el mismo valor. (1)
Jos e Luis Allende Carlos Contreras Bolton Tamara S aez Carlos Rey Programaci on I
12/20
Variables y constantes
En programaci on, tambi en damos nombres a las variables y constantes. Pero debemos tener cuidado con el tipo de dato escogido. Si el tipo de dato no es correcto (si tratamos de guardar un n umero de tipo float en una variable de tipo int, por ejemplo), el compilador o int erprete nos indicar a un error. Pero ... qu e pasa si queremos guardar un int en un float?
Jos e Luis Allende Carlos Contreras Bolton Tamara S aez Carlos Rey Programaci on I
13/20
Variables y constantes
Cada vez que declaramos una variable o constante, estamos asociando un nombre a una porci on de memoria de tama no denido. Ese tama no est a dado por el tipo de dato asociado a dicha declaraci on. Los nombres deben ser mnemot ecnicos para que podamos recordar qu e estamos almacenando.
Jos e Luis Allende Carlos Contreras Bolton Tamara S aez Carlos Rey Programaci on I
14/20
Variables
Formato
Una asignaci on es una sentencia con la siguiente estructura: <Identicador>=<expresi on> Reglas de un identicador:
El primer car acter no puede ser un d gito. Puede llevar letras, d gitos y el car acter subrayado ( ). No puede coincidir con palabras reservadas de cada lenguaje, ejemplo: and, if, else, for, etc.
Puede ser:
Un valor constante (un n umero o texto). Una operaci on entre n umeros. Una operaci on entre variables y constantes previamente declaradas. Mezcla entre operaciones, variables y n umeros.
Jos e Luis Allende Carlos Contreras Bolton Tamara S aez Carlos Rey Programaci on I
15/20
Variables
Lenguaje C
C
1 #i n c l u d e < s t d i o . h> 2 3 / I m p r i m i r v a r i a b l e s / 4 i n t main ( i n t a r g c , c h a r a r g v [ ] ) 5 { 6 int variable1 = 1; 7 float variable2 = 1.0; 8 char v a r i a b l e 3 = a ; 9 10 p r i n t f ( % d \ n , v a r i a b l e 1 ) ; 11 p r i n t f ( % f \ n , v a r i a b l e 2 ) ; 12 p r i n t f ( % c \ n , v a r i a b l e 3 ) ; 13 14 return 0; 15 }
Salida: 1 1.000000 a
Jos e Luis Allende Carlos Contreras Bolton Tamara S aez Carlos Rey Programaci on I
16/20
Constantes
Lenguaje C
1 2 3 4 5 6 7 8 9 10 11 12 13
Jos e Luis Allende Carlos Contreras Bolton Tamara S aez Carlos Rey Programaci on I
17/20
Variables y constantes
Recomendaciones
Una buena pr actica es escribir los nombres de variables con min usculas. Si tienen varias palabras, cada nueva palabra debe comenzar con may uscula. En el caso de las constantes, se escriben con may usculas y las palabras se separan con gui on bajo. Adem as, los nombres pueden contener d gitos excepto al comienzo.
Jos e Luis Allende Carlos Contreras Bolton Tamara S aez Carlos Rey Programaci on I
18/20
Tarea
Realizar un resumen de los cap tulos 1, 2 y 3 del Libro Introducci on al software libre. Entrega pr oximo martes 25 en horario de clases. M nimo 4 planas, m aximo 6. Las hojas deben estar corcheteadas.
Jos e Luis Allende Carlos Contreras Bolton Tamara S aez Carlos Rey Programaci on I
19/20