Vous êtes sur la page 1sur 6

Los tipos de datos en C++ se clasifican en primitivos y derivados.

Los tipos de datos primitivos son los que estn definidos dentro del lenguaje.
Los tipos de datos derivados se forman a partir de los tipos primitivos.
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.

Tipos de datos C++ numricos enteros


El tipo de dato numrico entero es un subconjunto finito de los nmeros enteros del
mundo real. Pueden ser positivos o negativos.
En C++ los tipos de datos numricos enteros son los siguientes:
Tipo de Dato

Descripcin

Nmero de
bytes tpico

Rango

short

Entero corto

-32768 a 32767

int

Entero

long

Entero largo

char

Carcter

-2147483648
a +2147483647
-2147483648
a +2147483647
-128 a 127

Con los tipos enteros pueden utilizarse los calificadores signed y unsigned. Estos
calificadores indican si el nmero tiene signo o no. Si se usan solos, sin indicar el tipo
de dato se asume int.
Por ejemplo, las siguientes declaraciones son equivalentes:
unsigned int x;
equivale a:
unsigned x;
Usando estos calificadores podemos tener los siguientes tipos enteros:
Tipo de Dato

Descripcin

Nmero de
bytes tpico

Rango

signed short

Entero corto

-32768 a 32767

unsigned short

Entero corto sin


signo

0 a 65535

signed int

Entero

-2147483648 a +2147483647

unsigned int

Entero sin signo

0 a 4294967295

signed long

Entero largo

-2147483648 a +2147483647

unsigned long

Entero largo sin


signo

0 a 4294967295

signed char

Carcter

-128 a 127

unsigned char

Carcter sin signo

0 a 255

Podemos ver que los datos enteros de tipo signed son equivalentes a los enteros sin
utilizar el calificador:
signed int a;

es equivalente a escribir

int a;

Tipos de datos numricos reales


El tipo de dato numrico real es un subconjunto finito de los nmeros reales. Pueden
ser positivos o negativos.
En C++ los tipos de datos numricos reales son los siguientes:
Tipo de
Dato
float
double
long
double

Descripcin
Real (Nmero en
coma flotante)
Real doble(Nmero
en coma flotante de
doble precisin)
Real doble largo

Nmero de
bytes tpico

Rango

Positivos: 3.4E-38 a 3.4E38


Negativos: -3.4E-38 a -3.4E38

Positivos: 1.7E-308 a 1.7E308


Negativos: -1.7E-308 a -1.7E308

10

Positivos: 3.4E-4932 a 1.1E4932


Negativos: -3.4E-4932 a -1.1E4932

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
Dato

Descripcin

Nmero de
bytes tpico

Rango

bool

Dato de tipo lgico

0, 1

Tipo carcter extendido


Este tipo se utiliza para representar caracteres UNICODE. Utiliza 2 bytes a diferencia
del tipo char que solo utiliza 1.
Tipo de
Dato

Descripcin

Nmero de
bytes tpico

Rango

wchar_t

Carcter Unicode

0 a 65535

2. 3. ESTRUCTURAS REPETITIVAS O ITERATIVAS.


C++ dispone de tres estructuras repetitivas:
while,
do-while
for.

3.1 Instruccin while.


while (condicion)
{
instruccin 1;
..............
instruccin N;
}
Ejecuta una instruccin o un bloque de instrucciones cero o ms veces, dependiendo
del valor de la condicin.
Se evala la condicin, y si es cierta, se ejecuta la instruccin o bloque de
instrucciones y se vuelve a evaluar la condicin; pero si la condicin es falsa, se pasa a
ejecutar la siguiente instruccin despus del while.
Ejemplo de instruccin while en C++. Programa que lee nmeros enteros hasta que se
lee un nmero negativo. Se muestra la suma de todos los nmeros leidos excepto el
nmero negativo.
/*Programa que lee nmeros hasta que se lee un negativo y muestra la
suma de los nmeros ledos */
#include <iostream>
using namespace std;
int main(void)
{
int suma, num;
suma = 0;
cout << "Introduzca un numero: ";
cin >> num;
while (num >= 0)
{
suma = suma + num;
cout << "Introduzca un numero: ";
cin >> num;
}
cout << endl << "La suma es: " << suma << endl;
system("pause");
}
3. 2 Instruccin do .. while.
do
{
instruccin 1;
..............
instruccin N;
} while (condicion);

Ejecuta una instruccin o un bloque de instrucciones, una o ms veces, dependiendo


del valor de la condicin.
Se ejecuta la instruccin o bloque de instrucciones y a continuacin se evala la
condicin. Si la condicin es cierta, se vuelve a ejecutar la instruccin o bloque de
instrucciones, y si es falsa, pasa a ejecutarse la siguiente instruccin despus del dowhile.
Cuando se utiliza una instruccin do-while el bloque de instrucciones se ejecuta al
menos una vez, ya que la condicin se evala al final. En cambio, con una instruccin
while, puede suceder que el bloque de instrucciones no llegue a ejecutarse nunca si la
condicin inicialmente es falsa.
Ejemplo de instruccin do while en C++. Programa que lee un nmero entero. El
nmero debe estar comprendido entre 1 y 100.
/* lee un nmero entre 1 y 10 */
#include <iostream>
using namespace std;
int main(void)
{
int numero;
do
{
cout << "Introduzca un numero entre 1 y 100: ";
cin >> numero;
}
while (numero < 1 || numero > 100);
}
3.3 Instruccin for.
Un bucle for hace que una instruccin o bloque de instrucciones se repitan un nmero
determinado de vecesmientras se cumpla la condicin.
for(inicializacin; condicion; incremento/decremento)
{
instruccin 1;
...........
instruccin N;
}
A continuacin de la palabra for y entre parntesis debe haber siempre tres zonas
separadas por punto y coma:
zona de inicializacin
zona de condicin
zona de incremento decremento.
En alguna ocasin puede no ser necesario escribir alguna de ellas. En ese caso se
pueden dejar en blanco, pero los punto y coma deben aparecer.
El funcionamiento de un bucle for el siguiente:

1.
2.
3.

Se inicializa la variable o variables de control.


Se evala la condicin.
Si la condicin es cierta se ejecutan las instrucciones. Si es falsa, finaliza la ejecucin
del bucle y contina el programa en la siguiente instruccin despus del for
4. Se actualiza la variable o variables de control (incremento/decremento)
5. Se pasa al punto 2).
Esta instruccin es especialmente indicada para bucles donde se conozca el nmero de
repeticiones que se van a hacer.
Como regla prctica podramos decir que las instrucciones while y do-while se utilizan
generalmente cuando no se conoce a priori el nmero de pasadas, y la instruccin for
se utiliza generalmente cuando s se conoce el nmero de pasadas.
Ejemplo de instruccin for en C++. Programa que muestra los nmeros del 1 al 10.
/* muestra los nmeros de 1 a 10 */
#include <iostream>
using namespace std;
int main(void)
{
int n;
for (n = 1; n <= 10; n++)
{
cout << n << endl;
}
system("pause");
}
Ejemplo de instruccin for en C++. Programa que muestra los nmeros del 10 al 1:
/* muestra los nmeros de 10 a 1 */
#include <iostream>
using namespace std;
int main(void)
{
int n;
for (n = 10; n >=1; n--)
{
cout << n << endl;
}
system("pause");
}
Se ha de tener cuidado y al escribir el punto y coma (;) despus del parntesis final del
bucle for.
Por ejemplo el bucle:
#include <iostream>
using namespace std;
int main(void)
{
int i;

for (i = 1; i <= 100; i++);


{
cout << "Hola" << endl;
}
system("pause");
}
no muestra "Hola" 100 veces. En realidad se muestra una vez "Hola", ya que la
sentencia for es una sentencia vaca al terminar con un punto y coma (;).
La sentencia for en este caso hace que i empiece en 1 y acabe en 11 y tras esas
iteraciones, se ejecuta la sentencia cout.
1.

#include <iostream>

2.

using namespace std;

3.

int main(){

4.

int n;

5.

cout<<"Ingresa un numero"<<endl;

6.

cin>>n;

7.

if(n==0){

8.

cout<<"El numero "<<n<<" es igual a cero";

9.

} else{

10.

if(n>0){

11.

cout<<"El numero "<<n<<" es positivo";

12.

}else{

13.

cout<<"El numero "<<n<<" es negativo";

14.

15.

16. return 0;
17. }

Vous aimerez peut-être aussi