Tema 3

Anuncio
Tema 3
Constantes, Variables
y Tipos
Contenidos
1. Definiciones.
1.1 Variables y Constantes.
1.2 Identificadores.
2. Declaración de Variables en un Programa en C.
3. Tipos de Datos.
3.1 Clasificación.
3.2 Tipos de Datos Enteros.
3.3 Tipos de Datos Reales.
3.4 Tipo de Datos Carácter.
3.5 Tipo de Datos Cadena de Caracteres.
4. Inicialización de Variables.
5. Constantes.
2
1. Definiciones
1.1 Variables y Constantes
Objetos básicos que se manipulan en un
programa y sobre los que se realizan las
operaciones.
Variable: Objeto cuyo valor puede variar. La
declaración de variables supone:
Darle un nombre o identificador.
Asignarle un tipo de dato.
tipo_de_dato nombre1, nombre2;
Constante: Objeto cuyo valor no puede variar.
3
1. Definiciones
1.2 Identificadores
Identificador: Nombre dado a un elemento del programa
(constantes simbólicas, variables y funciones).
Reglas para construir un identificador:
Deben comenzar por letra (a..z o A..Z) o subrayado (_).
El resto del identificador puede constar de letras del alfabeto, dígitos numéricos
o subrayado.
No se admiten espacios.
Se distinguen mayúsculas y minúsculas.
Pueden tener hasta 32 caracteres (dependiendo del compilador se consideran
8 o más).
No pueden coincidir con las palabras reservadas del lenguaje.
Palabras Reservadas: Identificadores que tienen un
significado predefinido dentro del lenguaje (main, int,...).
4
2. Declaración de Variables en un Programa en C
int main()
{
/* Zona de declaración de variables */
tipo1 variable1;
tipo2 variable2, variable3;
...
/* Zona de entrada de datos */
instrucción 1;
instrucción 2;
...
/* Área de cálculo */
instrucción m;
...
/* Extracción de resultados */
instrucción n;
...
return 0;
}
5
3. Tipos de Datos
3.1 Clasificación
Cuando declaramos una variable, definimos
(de forma implícita):
La longitud del dato (número de bits).
Operaciones que se pueden realizar con ese dato.
Conjunto de valores posibles.
Clasificación de los tipos de datos:
Simples o Básicos.
Estructurados. Compuestos de otros tipos de datos simples o
estructurados.
6
3. Tipos de Datos
3.1 Clasificación (II)
Los tipos de datos básicos se clasifican en:
Numéricos.
Enteros. Subconjunto finito de números enteros.
Reales. Subconjunto finito de números reales.
Alfanuméricos.
Carácter. Conjunto finito y ordenado de caracteres que el
procesador reconoce.
Cadenas de caracteres. Secuencia finita de caracteres.
7
3. Tipos de Datos
3.2 Tipos de Datos Enteros
Subconjunto de los enteros con signo.
Emplea la palabra clave int.
Declaración:
int variable1, variable2;
Podemos variar el tamaño con short y long:
short int v3;
long int v4, v5, v6;
Podemos expresar enteros sin signo con unsigned.
unsigned int a;
unsigned short int b, c;
unsigned long int d, e, f;
8
3. Tipos de Datos
3.2 Tipos de Datos Enteros (II)
Su tamaño depende del compilador y del procesador
que se utilice:
Tipo
Palabra 16 bits
Palabra 32 bits
int
16 bits
32 bits
short int
16 bits
16 bits
long int
32 bits
32 bits
unsigned short int
16 bits
16 bits
unsigned long int
32 bits
32 bits
9
3. Tipos de Datos
3.2 Tipos de Datos Enteros (III)
Tipo
Bits
Rango
short int
16 bits
[-32.768, ..., 32.767]
unsigned short int
16 bits
[0, ..., 65.535]
long int
32 bits
[-2.147.483.648, ... , 2.147.483.647]
unsigned long int
32 bits
[0, ..., 4.294.967.295]
10
3. Tipos de Datos
3.3 Tipos de Datos Reales
Subconjunto de los reales con signo.
Emplean las palabras float o double.
Declaración:
float f1, f2;
double numero;
11
3. Tipos de Datos
3.3 Tipos de Datos Reales (II)
La diferencia entre float y double es su tamaño.
Esto influye tanto al rango de números representables como a
su precisión.
Valor Mínimo y Máximo
(en valor absoluto)
Tipo
Tamaño
float
32 bits
[1.17549e-38, …, 3.4028e+38]
double
64 bits
[2.2251e-308, …, 1.7977e+308]
12
3. Tipos de Datos
3.4 Tipo de Datos Carácter
Conjunto finito y ordenado de caracteres que el
ordenador es capaz de reconocer.
Contiene un solo carácter: 1 byte (8 bits).
Un carácter se almacena como un valor entero de 8
bits. El ordenador interpreta este código en función de
unas tablas de conversión (código ASCII).
Las constantes de este tipo se representan entre
comillas simples.
Declaración:
char letra;
Puede usarse para almacenar enteros pequeños:
char valor_pequenyo; /* Rango: [-128,127] */
unsigned char sin_signo; /* Rango: [0,255] */
13
3. Tipos de Datos
3.4 Tipo de Datos Carácter (II)
Tipos de Caracteres:
Alfabéticos: a … z, A ... Z
Numéricos: 0 ... 9
Especiales: +, -, *, /, <, ... incluyendo los caracteres no
imprimibles (retorno de carro, fin de cadena,...).
\0
\n
\t
\b
Fin de cadena
Nueva línea
Tabulado
Retroceso
\r
\f
\\
Retorno de carro
Salto de página
Contrabarra
\'
\"
Apóstrofe (comilla simple)
Comillas
14
3 3. Tipos de Datos
3.5 Tipo de Datos Cadena de Caracteres
Bajo un mismo nombre de variable agrupamos un
conjunto de caracteres.
Se representan entre comillas dobles.
Cuando se declara una variable de este tipo debemos
indicar el número de caracteres que almacena.
char cadena[20], frase[100];
En C se sigue la convención de que las cadenas
acaban siempre con el carácter '\0'.
Por este motivo, al declarar la variable debemos
reservar un espacio más.
char saludo[5]="HOLA";
char despedida[]="ADIOS";
15
4. Inicialización de Variables
Cuando una variable se declara, el compilador le
reserva espacio en la memoria, pero no modifica la
información que había en dicho espacio.
Toda variable debe ser inicializada antes de usar su
valor en el programa.
Las variables pueden ser inicializadas a un valor
concreto cuando son declaradas.
Para ello, en la declaración se añade el signo de igual
más una constante.
16
5. Constantes
Al igual que las variables, las constantes guardan
datos, pero su valor no varía.
Existen tantos tipos de constantes como tipos de
datos. Podemos expresar una constante según el
tipo de dato.
Las constantes pueden aparecer con su valor
directamente o mediante un identificador.
Constantes simbólicas:
Constantes a las cuales se les asocia un nombre o
identificador.
Se declaran como:
#define nombre_constante valor
17
5. Constantes (II)
Ejemplos:
#define M 10
#define N 10. /* Es un double */
#define PI 3.14159265 /* double */
#define PIf 3.14159265f /* float */
#define A -1.2345e-17 /* double en
notación científica */
#define salto_de_linea '\n'
#define HOLA "HOLA"
18
Descargar