Beruflich Dokumente
Kultur Dokumente
- Dgitos del 0 al 9.
Los caracteres espacios en blanco que pueden aparecer en un programa C++ son
los siguientes:
el espacio en blanco
tabulador horizontal
tabulador vertical
avance de pgina
nueva lnea
- Secuencias de escape: Una secuencia de escape esta formada por una barra
inversa seguida de una letra o de una combinacin de dgitos.
Se utilizan para realizar acciones como salto de lnea o para usar caracteres no
imprimibles.
Los tipos de datos primitivos son los que estn definidos dentro del lenguaje.
En este tema veremos los tipos primitivos y en temas siguientes estudiaremos los
tipos derivados.
Los tipos de datos primitivos en C++ son: numricos enteros, numricos reales, tipo
lgico y tipo carcter ampliado.
Nmero de
Tipo de Dato Descripcin Rango
bytes tpico
short Entero corto 2 -32768 a 32767
Tipo de Nmero de
Descripcin Rango
Dato bytes tpico
Real (Nmero en Positivos: 3.4E-38 a 3.4E38
float 4
coma flotante) Negativos: -3.4E-38 a -3.4E38
Real doble(Nmero
Positivos: 1.7E-308 a 1.7E308
double en coma flotante de 8
Negativos: -1.7E-308 a -1.7E308
doble precisin)
Positivos: 3.4E-4932 a 1.1E4932
long
Real doble largo 10 Negativos: -3.4E-4932 a -1.1E4932
double
Tipo lgico
Los datos de este tipo slo pueden contener dos valores: true false (verdadero
falso).
Si se muestran como enteros, el valor true toma el valor 1 y false el valor 0.
Tipo de Nmero de
Descripcin Rango
Dato bytes tpico
Tipo de Nmero de
Descripcin Rango
Dato bytes tpico
wchar_t Carcter Unicode 2 0 a 65535
Operadores aritmticos.
+ Suma
- Resta
* Multiplicacin
/ Divisin
% Mdulo resto de la divisin entera
En C++ no hay operador de potenciacin. Esta operacin se realiza con la funcin
pow.
El operador % obtiene el resto de la divisin entre enteros. Requiere que los
operandos sean enteros y el segundo operando no sea nulo. Cuando se aplica el
operador % a operandos de distinto signo, la mayora de las versiones de C++
asignan al resultado el signo del primer operando.
El operador / requiere que el segundo operando no sea nulo. Si los dos operandos
son enteros se obtiene como resultado la parte entera (cociente truncado, sin
decimales).
Ejemplo de operaciones:
int a = 10, b = 3;
double v1 = 12.5, v2 = 2.0;
char c1='P', c2='T'; //Segn la tabla ASCII P=80 T=84 5=53
i + c 0 78 int
(i + c) (2 * f / 5) 123.8 double
Expresin Resultado
i + f <= 10 Falso
c != p || i + f <= 10 Cierto
Operadores de asignacin.
Se utilizan para asignar el valor de una expresin a una variable.
= Asignacin
+= Suma y asignacin
= Resta y asignacin
*= Producto y asignacin
/= Divisin y asignacin
%= Resto de la divisin entera y asignacin
<<= Desplazamiento a la izquierda y asignacin
>>= Desplazamiento a la derecha y asignacin
&= and_eq and sobre bits y asignacin
|= or_eq or sobre bits y asignacin
^= xor_eq xor sobre bits y asignacin
Si los dos operandos de una expresin de asignacin son de distinto tipo, el valor de
la expresin de la derecha se convertir al tipo del operando de la izquierda.
Por ejemplo, una expresin de tipo real (float, double) se truncar si se asigna a un
entero, o una expresin de tipo double se redondear si se asigna a una variable de
tipo float.
En C++ estn permitidas las asignaciones mltiples.
Ejemplo: a = b = c = 3; equivale a a = 3; b = 3; c = 3;
Ejemplo de asignaciones:
a += 3; equivale a a = a + 3;
a *= 3; equivale a a = a * 3;
En general:
variable op= expresin equivale a: variable = variable op expresin
En la siguiente tabla vemos ms ejemplos de asignaciones:
int i = 5, j = 7, x = 2, y = 2, z = 2;
float f = 5.5F, g = -3.25F;
i += 5 i=i+5 10
f = g f=fg 8.75
j *= (i 3) j = j * (i 3) 14
f /= 3 f=f/3 1.833333
i %= (j - 2) i = i % (j 2) 0
x *= -2 * (y + z) / 3 x = x * (-2 * (y + z) / 3) -4
Operador condicional.
Lo forman los caracteres ? y :
Se utiliza de la forma siguiente:
expresin1 ? expresin2 : expresin3
Si expresin1 es cierta entonces se evala expresin2 y ste ser el valor de la
expresin condicional. Si expresin1 falsa, se evala expresin3 y ste ser el valor
de la expresin condicional.
Por ejemplo:
int i = 10, j;
j = (i < 0) ? 0 : 100;
Esta expresin asigna a j el valor 100. Su significado es: si el valor de i es menor
que 0 asigna a j el valor 0, sino asigna a j el valor 100. Como i vale 10, a j se le
asigna 100.
La instruccin anterior es equivalente a escribir:
if(i < 0)
j = 0;
else
j = 100;
Ms Ejemplos de operador condicional en C++:
int a=1, b=2, c=3;
c+=(a>0 && a<= 10) ? ++a : a/b; /* c toma el valor 5*/
int a=50, b=10, c=20;
c+=(a>0 && a<=10) ? ++a : a/b; /* c toma el valor 25*/
Otros operadores
Operador coma
La coma, usada como operador, se utiliza para encadenar varias expresiones.
Ejemplo: x=(v=3,v+5)
Equivale a: v=3
x=v+5
Ejemplo: z=26
v=(z=z+10,72/z)
Equivale a: z=26
z=z+10
v=72/z
Operador de direccin
Se representa por el smbolo & (ampersand), y su funcin es la de obtener la
direccin dnde se almacena una determinada variable.
Por ejemplo, dadas las siguientes instrucciones:
int x = 10;
cout << Valor de x: << x << endl;
cout << Direccin de la variable x: << &x << endl;
muestran por pantalla:
Valor de x: 10
Direccin de la variable x: 0x27ff44
Operador de indireccin
Se representa por un asterisco *, y su funcin es la de obtener el valor contenido
en una direccin de memoria.
Un puntero es una variable que contiene una direccin de memoria. Para definir una
variable puntero se escribe: tipo *variable.
Por ejemplo: int *p;
En el siguiente ejemplo se declara un puntero y dos variables enteras y se utiliza el
operador de indireccin para obtener el valor contenido en una direccin de
memoria.
int *p, x = 10, y = 0; //se declara el puntero p y las variable x e y
p = &x; //a p se le asigna la direccin de memoria de x
y = *p; //a y se le asigna el valor guardado en la direccin de memoria
que contiene p. Como p contiene la direccin de x, a y se le asigna el valor 10
Veremos los punteros en un tema posterior.
Operador referencia a
Una referencia es un nombre alternativo (un alias, un sinnimo) para un objeto.
La forma general de expresar una referencia es:
tipo &referencia = variable;
Por ejemplo:
float m = 30.01;
float &n = m; // n es una referencia de m
Se ha declarado la variable m como float y n como referencia de m, indicando al
compilador que en este programa m tambin tiene otro nombre ( n ).
Las operaciones realizadas sobre m se reflejan en n, y viceversa. Por lo tanto en el
programa podemos utilizar indistintamente m o n.
Una referencia no es una copia de la variable referenciada, sino que es la misma
variable con un nombre diferente.
Los operadores no operan con la referencia sino directamente sobre la variable
referenciada.
Por ejemplo:
int j = 0;
int &k = j; // k es una referencia a j;
k++;
cout << j << endl; // muestra 1
cout << k << endl; // muestra 1;
Una referencia debe ser inicializada y su valor no puede ser alterado despus de
haberla inicializado, por lo que siempre se referir al mismo objeto.
Las referencias se utilizan, por ejemplo, como alternativa a los punteros en el paso
de parmetros en las funciones.
Operador global y de resolucin de mbito
Es el operador :: y permite el acceso a una variable global que ha quedado oculta
por una variable local.
En POO se usa para indicar a qu clase pertenece un determinado mtodo.
Operador sizeof
Obtiene el tamao en bytes de un tipo de datos o de una variable previamente
declarada.
Por Ejemplo, las siguientes instrucciones:
double a;
cout << Entero-> << sizeof(int) << endl;
cout << Caracter-> << sizeof(char) << endl;
cout << Double-> << sizeof(a) << endl;
:: Sin asociatividad
() [] . -> n++ n-- _cast typeid Izquierda a Derecha
signo ~ ! * & ++n -n sizeof new delete (tipo) Derecha a Izquierda
->* .* Izquierda a Derecha
* / % Izquierda a Derecha
+ - Izquierda a Derecha
<< >> Izquierda a Derecha
< <= > >= Izquierda a Derecha
== != Izquierda a Derecha
& Izquierda a Derecha
^ Izquierda a Derecha
| Izquierda a Derecha
&& Izquierda a Derecha
|| Izquierda a Derecha
?: Derecha a Izquierda
= += -= *= /= %= <<= >>= &= |= ^= Derecha a Izquierda
, Izquierda a Derecha