Variables y Tipos de datos

Una variable es un espacio de memoria reservado en el ordenador para contener valores que pueden cambiar durante la ejecución de un programa. Los tipos que se le asignen a estas determinan cómo se manipular la información contenida en ellas.

Cada variable necesita un identificador que la distingue de las demás. Un identificador válido es una secuencia de una o mas letras, dígitos o guiones bajos, recordando que no deben coincidir con palabras reservadas del lenguaje, deben comenzar por una letra y además tomar en cuenta que C++ hace diferencia entre mayúsculas y minúsculas.

Las variables que se pueden presentar en un programa son de los siguientes tipos:

1. Variables Locales . Se definen solo en bloque en el que se vayan a ocupar, de esta manera evitamos tener variables definidas que luego no se utilizan.

2. Variables Globales. No son lo más recomendable, pues su existencia atenta contra la comprensi´on del código y su encapsulamiento.

Variables estáticas. Se tienen que inicializar en el momento en que se declaran, de manera obligatoria.

Los tipos de datos más comunes en C++ son:

Tipo de Datos
Espacio en Memoria
Rango



unsigned char
8 bits
0 a 255
char
8 bits
-128 a 127
short int
16 bits
-32,768 a 32,767
unsigned int
32 bits
0 a 4,294,967,295
int
32 bits
-2,147,483,648 a 2,147,483,647
unsigned long
32 bits
0 a 4,294,967,295
enum
16 bits
-2,147,483,648 a 2,147,483,647
long
32 bits
-2,147,483,648 a 2,147,483,647
float
32 bits
3.4 x 10-38 a 3.4 x 10+38(6 dec)
double
64 bits
1.7 x 10-308 a 1.7*10+308(15 dec
long double
80 bits
3.4 x 10-4932 a 1.1 x 10+4932
void
sin valor






Conversión de Tipos

Cuando nuestro programa contiene operaciones binarias con operandos de distintos tipos, estos se convierten a un tipo en común, en general para conversiones explícitas C++ hace uso del casting, lo que nos permite tener más precisión en aquellos casos en los que el resultado de la operaci´on no es un int y la variable receptora sí lo es.

Espacios de nombres en C++
Los espacios de nombre nos ayudan a evitar problemas con identificadores, nos permi-ten, que existan variables o funciones con el mismo nombre, declaradas en distintos espacios de nombre, adem´as no pueden hacerse declaraciones de namespace dentro de bloques, como funciones. Un namespace se define de la siguiente manera:

namespace <nombre_del_namespace>
{
... //declaraciones y/o definiciones de variables, funciones, clases
}

aquí nombre del namespace es un identificador estándar C++.

El nombre del espacio funciona como un prefijo para las variables, funciones o clases declaradas en su interior, de modo que para acceder a una de esas variables se tiene que usar un especificador de ámbito (::), o activar el espacio con nombre adecuado.

Presentamos el siguiente código que genera un espacio de nombre.

#include <iostream>
namespace uno {
int x;
namespace dos {
int x;
namespace tres {
int x;
}
}
}
using std::cout;
using std::endl;
using uno::x;
int main() {
x = 10; // Declara x como uno::x
uno::dos::x = 30;
uno::dos::tres::x = 50;
cout << x << ", " << uno::dos::x <<
", " << uno::dos::tres::x << endl;
return 0; 
}

Bloque de sentencias

Las sentencias especifican y controlan el flujo de ejecuci´on del programa. Si no existen sentencias espec´ıficas de selección o salto, el programa se ejecuta de forma secuencial en el mismo orden en que se ha escrito el código fuente.

En C++ el concepto de bloque de sentencias se utiliza para agrupar un conjunto de sentencias dentro de un ámbito concreto dentro del programa. Un bloque de sentencias es un conjunto de instrucciones englobadas bajo llaves { }.
Sentencia if 

La sentencia if elige entre varias alternativas en base al valor de una o m´as expresiones booleanas.

Sintaxis:

if( <expresion booleana>)
<bloque a ejecutar cuando la expresi´on es verdadera>

else

<bloque a ejecutar cuando la expresi´on es falsa>

La sentencia else es opcional, puede utilizarse o no. En el caso de no utilizarlo, cuando la expresión evaluada sea falsa la ejecuci´on continuar´ con la sentencia inmediatamente posterior al if.

Comparaciones en C++

En C++ las comparaciones se especifican mediante el operador ==, en primera posici´on la constante y como segundo miembro de la igualdad la variable. Dicha comparación nos regresar´aun booleano.

if ( constante == variable){ }

Asignaciones en C++

En las asignaciones se debe evitar la conversi´on expl´ıcita de tipos de datos. Se aconseja no hacer asignaciones múltiples, ya que estas dan a lugar a actuaciones erróneas. En general las sentencias de asignaci´on tienen la forma:

tipo variable; 

variable = expresión;

Sentencia Switch

En casos en los que el programa presenta varias elecciones después de checar un expresión múltiple o multi alternativa, donde el valor de una expresión determina que sentencias serán ejecutadas es mejor utilizar una sentencia switch.

Esta estructura ocupa la palabra reservada break que permite que el flujo del programa se detenga justo después de la ejecución de la sentencia anterior a ese break, pidiendo que se ejecuten las sentencias correspondientes a las siguientes alternativas de switch.

Por otro lado default es opcional y engloba un conjunto de sentencias que se ejecutan en caso de que ninguna de las alternativas del switch tenga un valor que coincida con el resultado de evaluar la expresi´on del selector.

switch(var int o char)
{
case const1: instrucciones;
break;
case const2: instrucciones;
break;
default: instrucciones;
};
Sentencia For
La sentencia for se usar´ para definir un ciblo en el que una variable se incrementa de manera constante en cada iteraci´on y la finalización del ciblo se determina mediante una expresión constante. Como contador en for se utilizarán preferiblemente variables de un solo carácter como i, j, k, declarándose dentro del mismo ciclo.

Su formato general es:

for (inicialización; condición; incremento)
{ instrucci´on(es); };

 Sentencias While y do While

Al comenzar un ciclo while o do...while la expresión de control debe tener un valor claramente definido, para impedir posibles indeterminaciones o errores de funcionamiento.

La sentencia while se usar´ para definir un ciclo en el que la condici´on de terminaci´on se eval´ua al principio del mismo.

Su formato general es :

cargar o inicializar variable de condición;

while(condicion)
{

grupo cierto de instrucciones;

instrucción(es) para salir del ciclo;
};

Sentencia exit y return

La sentencia exit finaliza la ejecución de un proceso de manera inmediata, forzando la vuelta al sistema operativo. No se aconseja su utilización en cualquier parte del código, siendo preferible controlar el flujo en el proceso mediante bucles condicionales y devolver el control mediante la sentencia return.

Comentarios

Entradas populares