PDF de programación - Curso C++: Variables y Tipos

Imágen de pdf Curso C++: Variables y Tipos

Curso C++: Variables y Tiposgráfica de visualizaciones

Publicado el 3 de Mayo del 2017
687 visualizaciones desde el 3 de Mayo del 2017
210,8 KB
63 paginas
Creado hace 12a (07/06/2011)
Curso C++:

Variables y Tipos

Jorge Peña Pastor

[email protected]

June 7, 2011

Jorge Peña Pastor

Variables y Tipos

1/53

Variables

Representan cantidades y/o cualidades.
Antes de usarlas debemos declararlas para que el compilador
(o intérprete) pueda conocer:

• Su nombre
• Su ámbito de vida
• Su visibilidad
• El tipo de datos asociado

Jorge Peña Pastor

Variables y Tipos

2/53

Declaración de Variables

• Simple:
int

i ;

• Múltiple:

int i ,

j , k;

• Con asignación de valor inicial:

int

i = 5;

Jorge Peña Pastor

Variables y Tipos

3/53

Declaración de Variables

• Simple:
int

i ;

• Múltiple:

int i ,

j , k;

• Con asignación de valor inicial:

int

int

i = 5;
i = −133,

j = i , k;

Jorge Peña Pastor

Variables y Tipos

3/53

Nombres de Variables

Deben reflejar los términos abstractos del problema.
No deben ser ambiguos.
El lenguaje puede restringir el nombrado:

• Identificadores correctos: {a-zA-Z_}[a-zA-Z_0-9]*
• No estan permitidas variables cuyo nombre coincida con

palabras reservadas del lenguaje.

• No se admiten símbolos especiales: ; " ’ ñ , ? ! ^ ~ …
• Otras restricciones (ej. longitud).

Jorge Peña Pastor

Variables y Tipos

4/53

Palabras Reservadas en C++

asm, auto, bool, break, case, catch, char, class, const,

const_cast, continue, default, delete, do, double,

dynamic_cast, else, enum, explicit, export, extern, false,

float, for, friend, goto, if, inline, int, long, mutable,

namespace, new, operator, private, protected, public,
register, reinterpret_cast, return, short, signed, sizeof,
static, static_cast, struct, switch, template, this, throw,
true, try, typedef, typeid, typename, union, unsigned,

using, virtual, void, volatile, wchar_t, while

Jorge Peña Pastor

Variables y Tipos

5/53

Ámbito de Vida

Determina durante cuánto tiempo existe una variable.

• Variable global a módulo o programa:

• Existen durante todo el tiempo de ejecución.
• Toman valor inicial 0 (todos sus bits a 0).

• Variable local o parámetro formal de una función:

• Existen sólo durante cada llamada.
• Toman valor inicial indeterminado (basura).

Jorge Peña Pastor

Variables y Tipos

6/53

Visibilidad

Determina desde dónde podemos usar una variable.

• Variable global al programa:

• Desde cualquier punto del programa.

• Variable global a un módulo:
• Sólo desde dicho módulo.

• Variable local o parámetro formal de función:

• Sólo desde dicha función.
• Una variable local oculta a una global con el mismo

nombre.

Jorge Peña Pastor

Variables y Tipos

7/53

Ejemplos de Ámbito y Visibilidad

/∗ Globales ∗/

int a,b;
void funcion(void)
{
/∗ Las variables a y b son variables enteras ∗/
/∗ La variable c no existe ∗/
}
int main(void)
{
float a,c;
/∗ Las variables a y c son reales ∗/
/∗ La variable b es entera ∗/
}

/∗ Locales ∗/

Jorge Peña Pastor

Variables y Tipos

8/53

Modificadores de Variables

const

• Su valor no debe, y no puede, ser alterado.

static

• Su valor se mantiene dentro de su ámbito.
• Si global, sólo global al módulo.
• Si local, conserva valor entre invocaciones.
• Valor inicial 0.

register

• Indica nuestra intención de ubicar la variable en un registro.
• Es una pista para el compilador (no está garantizado).

volatile

• El contenido de la variable podría cambiar de valor

espontáneamente por efecto de algo "externo" al
programa.

• Evita optimizaciones por parte del compilador en cuanto a

acceso de memoria de la variable.

Jorge Peña Pastor

Variables y Tipos

9/53

Tipos de Datos

Cada variable tiene que tener asociado un tipo que indique qué
es lo que contiene la variable.
Determina qué opereaciones se pueden hacer sobre la
variable.
Permite al compilador:

• Detectar errores
• Optimizar la ejecución

Podrá ser uno de los tipos básicos proporcionados por el
lenguaje o bien un tipo derivado creado por un programador.

Jorge Peña Pastor

Variables y Tipos

10/53

Tipos de Datos

Se escoge según el conjunto de valores que queramos que la
variable pueda tomar.

• En algunos casos por las limitaciones del sistema.

Los tipos numéricos básicos deteminan el rango de posibles
valores

• Una variable de tipo Entero no podrá valer 3.75 (decimal).
• Una variable de tipo Positivo (sin-signo) no podrá valer -1.

Jorge Peña Pastor

Variables y Tipos

11/53

Tipos Básicos

Posibles contenidos de variables según el tipo con el que
fueron declaradas:

Boleano: true, false
Carácter: a, A, z, Z, 1, 9, ...

Entero: −1, 33

Real: 3.14, −5x10−15
Enumerado: lunes, martes ...

Vectores: {4, 5, 9}, {H, o, l, a}
Puntero: NULL

Jorge Peña Pastor

Variables y Tipos

12/53

Entero

• Para contar o enumerar

int saldo_bancario = 1000;

• Diferentes bases de representación:

Hexadecimal(base 16): 0x0 -0x1 0xFFF
Octal(base 8):
Decimal(base 10):

0xFea0
07777 0177240
65184
4095

00
0

-01
-1

Jorge Peña Pastor

Variables y Tipos

13/53

Modificadores de Enteros

De Signo:

• signed: Valores positivos y negativos.

signed int var ; 32 bits :

/∗−2147483648 a 2147483648∗/

• unsigned: Sólo valores positivos.

unsigned int var ;

/∗32 bits : 0 a 4294967295∗/

Jorge Peña Pastor

Variables y Tipos

14/53

Modificadores de Enteros

De Signo:

• signed: Valores positivos y negativos.

signed int var ; 32 bits :

/∗−2147483648 a 2147483648∗/

• unsigned: Sólo valores positivos.

unsigned int var ;

/∗32 bits : 0 a 4294967295∗/

Si no se indica nada es signed

int var ; 32 bits :

/∗−2147483648 a 2147483648∗/

Jorge Peña Pastor

Variables y Tipos

14/53

Modificadores de Enteros

De tamaño:

• short

short int dia ;

/∗ 16 bits (aprox) ∗/

• sin modificador (por defecto)
/∗ 32 bits ∗/

int horas;

• long

long segundos;

/∗ 32 bits (aprox) ∗/

• long long

long long micro_segundos;

/∗ 64 bits (GNU C)∗/

Jorge Peña Pastor

Variables y Tipos

15/53

Modificadores de Enteros

Pueden combinarse para adaptarse a las necesidades de
nuestro problema:

signed long int variable ;
unsigned short int variable ;

Puede omitirse el int

unsigned variable ;

El tamaño en memoria depende del compilador y de la
arquitectura.
Normalmente se usa simplemente int.

Jorge Peña Pastor

Variables y Tipos

16/53

Booleano

Representa los valores lógicos cierto y falso.

bool hace_sol = true ;
bool tengo_coche = false ;

Jorge Peña Pastor

Variables y Tipos

17/53

Booleano

Representa los valores lógicos cierto y falso.

bool hace_sol = true ;
bool tengo_coche = false ;

Se utiliza para representar el resultado de operaciones lógicas
(según el álgebra de Bool) y de comparación:

bool vamos_excursion = hace_sol && tengo_coche
bool resultado = a > b;

Jorge Peña Pastor

Variables y Tipos

17/53

Carácter

Son valores numéricos de tamaño 1 byte (128 tipos).
Representan caracteres según una convención dada (código
ASCII o Latin1).

• Constante entre comillas simples (apóstrofe ’)

char letra = ’a ’ ;

• Secuencias de escape:

char retorno
= ’ \n ’ ;
char tabulador = ’ \ t ’ ;

• Valor numérico:

char arroba = ’\100 ’ ;

/∗ Codigo ASCII de @ en octal∗/

Jorge Peña Pastor

Variables y Tipos

18/53

Real

Números positivos o negativos con o sin decimales.
También llamdos de “coma flotante”.
Representación interna distinta a la del entero.
Notación decimal o científica

Jorge Peña Pastor

Variables y Tipos

19/53

Tipos de Reales

Tres tamaños:

• float (precisión simple).
float medida = 2.3 f ;
float distancia = 42E−11;

• double (doble precisión).
double valor = 4.22;

• long double (precisión extendida).

long double PI=3.14159265358979323846;

El valor exacto depende de cada implementación pero
normalmente float 32 bits, double 64 y long double 128 bits.

Jorge Peña Pastor

Variables y Tipos

20/53

Conversión de Tipos

¿Qué pasa cuando combinamos tipos diferentes?

• int y float
• int y bool
• float y double

Existen 2 mecanismos:

• Conversión automática
• Conversión explícita

Jorge Peña Pastor

Variables y Tipos

21/53

Conversión Automática

La hace automáticamente el compilador
Es segura siempre que sepamos que la conversión que va a
hacer el compilador es la que nos interesa.
Promoción

• De un “tipo” menor a un tipo “mayor”

float valor = 2;

/ / 2 se convierte en 2.0

Degradación

int valor = 2.2;

/ / 2.2 se convierte en 2

Jorge Peña Pastor

Variables y Tipos

22/53

Conversión Explícita de Tipo

Casting: mecanismo para explicitar el cambio de tipo de

una expresión o variable.

Le indicamos al compilador que asumimos la responsabilidad
Existen 2 formas:

• Castings de C:

• (tipo)variable
• tipo(variable)
• Castings de C++:

• static_cast
• dynamic_cast
• const_cast
• reinterpret_cast

Jorge Peña Pastor

Variables y Tipos

23/53

Ejemplos de Conversión de Tipos

f = 65.2;

/ / g vale 65.0

float
float g = ( int ) 65.2;
float h = 3/2;
float
float k = static_cast<int >(65.2);

i = ( float )3/( float)2 / /

/ / h vale 1.0

i vale 1.5

/ / k = 65.0

Jorge Peña Pastor

Variables y Tipos

24/53

Conversión de Bool

Las expresiones condicionales o booleanas, se convierten
automáticamente utilizando las siguiente normas:

• Si la expresión vale 0, entonces es falso, si no, es cierto.
• Los valores booleanos true y false se convierten en 1 y 0

cuando se hace el casting a int

• Para pasar de int a bool se sigue la misma norma que para

las expresiones: 0 es false y el resto de enteros true

Jorge Peña Pastor

Variables y Tipos

25/53

Operadores Aritméticos

+ Suma
- Resta
* Multiplicación
/ División
% Módulo (resto)
++ Auto-incremento (pre ó post)
– Auto-decremento (pre ó post)

Jorge Peña Pastor

Variables y Tipos

26/53

Ejemplo Operadores Aritméticos

int b;

float

f ;

int a = 5 − (2 ∗ 2);
/∗ a = a + 1 ∗/
a++;
/∗ a=4 b=3 ∗/
a=3; b=a++;
/∗ a=4 b=4 ∗/
a=3; b=++a;
a=3; b=a−−; /∗ a=2 b=3 ∗/
f =4/3;
b=4%3; /∗ b == 1 == (4 − (4/3)∗3) ∗/
real ∗/
f =4.0/3;
f =(float )4/3;
for ( int
i =0;

/∗ f == 1.333 Div .
i <10;

/∗ f == 1 Div . entera ∗/

/∗ f == 1.333 Div .

real ∗/

i ++) / / Realiza 10 veces el bucle

Jorge Peña Pastor

Variables y Tipos

27/53

Operadores de Asignación

Provienen de la combinación de ope
  • Links de descarga
http://lwp-l.com/pdf3303

Comentarios de: Curso C++: Variables y Tipos (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad