Variables, constantes y operadores en C/C++

I. Definición de variable:

Es el nombre con el una o varias posiciones de memoria en las cuales el programa guarda distintos valores (uno solo por vez).
Declaración.: Todo programa debe definir (DECLARAR) todas las variables antes de usarlas a fin de indicarle al compilador de que tipo serán y por lo tanto cuanta memoria destinar a cada una de ellas. Ej.;
int a, b, c;
Las variables del mismo tipo pueden declararse mediante una definición múltiple separándolas mediante una coma ‘,’ tal como en el ejemplo anterior.

Inicialización de variables:

C++ permite a la vez declarar e inicializar con un valor una determinada variable, de acuerdo a la necesidad del programador. Ej.:
int a, b, c = 0;
En este caso se decidió declarar una variable de tipo entero c, e inmediatamente asignarle el valor de 0, con ello nos ahorramos una línea de código, que de otra forma hubiera sido necesaria.

Asignación simultanea:

C++ permite asimismo asignarle enana sola línea de código un único valor a distintas variables .Ej.:
float a = b = c = d = e = 0;

En el ejemplo anterior no sólo hemos declarado cuatro variables de tipo flotante, sino también han sido asignadas con un único valor, 0 (El sentido de asignación va de derecha a izquierda) .

Tipos De Datos:

Existen sólo cinco tipos de datos elementales en C, carácter (char), entero(int), coma flotante(float), coma flotante de doble precisión (double) y sin valor (void).
Los valores de tipo char se usan normalmente para guardar valores definidos en el juego de caracteres ASCII, así como cualquier cantidad de 8 bits. Las de tipo int para cantidades enteras. Las del tipo float almacenan valores reales, ingresados por el usuario o resultado de una operación aritmética, las del tipo double como su nombre lo indica son tambien un valor flotante , pero de doble precisión, generalmente como resultado de operaciones complejas en las que intervienen funciones de la librería . El tipo void tiene tres usos. El primero para declarar de manera explicita que se trata de una función que no devuelve valor alguno, el segundo para declarar una función sin parámetros y el tercero para crear punteros genéricos.

Modificadores De Tipos:
A excepción del tipo void, los tipos de datos básicos pueden tener distintos modificadores precediéndolos, usados para tener una variable con características lo mas cercanas a las necesidades del programador. Estos son:
signed
unsigned
long
short

Tipos De Datos y tamaños Del Estandar ANSI De C/C++

 
Nombre del tipo
Bytes
Otros nombres
Rango de valores
1int*signed, signed intDepende del sistema
2unsigned int*unsignedDepende del sistema
3char1signed char-128 a 127
4unsigned char1
———
0 a 255
5short2short int, signed short int-32768 a 32767
6unsigned short2unsigned short int0 a 65535
7long4long int, signed, long int-2147483648 a 2147483647
8unsigned long4unsigned long int0 a 4294967295
9float4
———
3.4E+/-308
( 7 digitos)
10double8
———
1.7E+/-308
(15 digitos)
11long dougle10
———
1.2E+/-4932
(19 digitos)

NOTA:
El ANSI (American Standard Institute: Instituto Nacional Americano De Normalización). es un comité que aprueba los estándares en informática. Un comité ANSI se dedica ala estandarización de C++.

Conversión Automática De Tipos:

Cuando dos o mas variables de diferente tipo de encuentran dentro de una misma operación o expresión matemática, ocurre una conversión automática de tipos de variable. En todo momento de realizarse una operación se aplica la siguiente secuencia de reglas de conversión (previa a la realización de dicha operación).
• Las variables de tipo short o char se convierten en int.
• Las variables de tipo float se convierten en double.
• Si alguno de los operandos es de mayor precisión que los demás, estos se convierten al tipo de aquel y el resultado es del mismo tipo.
Si en nuestro programa asignamos el valor guardado en una variable tipo real (cualesquiera) a una variable de tipo entero (cualesquiera), la variable entera ahora contendrá solo el valor entero del real, truncando la parte decimal (no aproximándola).

Constantes

Constantes #define:
Tanto C como C++ permiten especificar constantes mediante la directiva de compilador #define que siempre seguirán el siguiente ejemplo/formato, en el cual no se ponen el punto y coma al final:

#define minimo 0
#define maximo 10

Si no deseamos usar la directiva #define podemos declarar una constante “const” delante de la palabra reservada(tal como int, float o double (el especificador const también lo es) ) , las cuales serán codificados de la siguiente forma:
const int min = 0.0;
const float factor1 = 1.25, factor2 = 1.37;

Esta forma de definición de constante se hace de esta forma, pues dado que una constante no se puede modificar, se debe inicializar su declaración.
Las constantes y variables se inicializan de la misma forma en el programa , la única diferencia es que los valores asignados a las constantes no se pueden modificar en la ejecución del programa, sólo se podrá realizar accediendo al código fuente.

Operadores aritméticos:

Operadores:

El lenguaje C/C++ tiene muchos operadores que no aparecen en otros lenguajes, por ello decimos que es un lenguaje muy rico en operadores incorporados .
Un operador es un símbolo palabra reservada que indica al compilador que lleve a cabo ciertas operaciones matemáticas o lógicas.
En C/C++ hay tres clases de operadores:
• Aritméticos
• Relacionales
• Lógicos

Operador
Acción
12
-
Resta, también signo menos
13
+
Suma
14
*
Multiplicación
15
/
División
16
%
Modulo
17
--
Decremento
18
++
Incremento
19
-=
Asignación compuesta
20
+=
Asignación compuesta
21
*=
Asignación compuesta
22
/=
Asignación compuesta

En C el operador % actúa igual que en otros lenguajes, debemos precisar que el operador de modulo proporciona el resto de una división entera. Por ello no debe aplicarse a tipos de coma flotante.

Incremento y decremento:

C contiene dos operadores muy útiles que no existen esotros lenguajes, el incremento y el decremento,++ y –; donde el operador ++ añade 1 y el –le resta 1 a su operando.
Los operadores ++ y — pueden ir antes o después del operando así por ejemplo ambas expresiones son equivalentes:
x++; y ++x;
x--; y --x;

Si se utilizan estos operadores dentro de una expresión se debe tener cuidado; cuando un operador incremento o decremento precede a su operando, C lleva a cabo el incremento o decremento antes de asignar . Si el operador sigue al operando, C utiliza su valor y después lo incrementa o decrementa.
Evaluemos el siguiente segmento de código:
x = 10;
y = x--;

En este caso primero se le asignara el valor de 10 a y , para después decrementar el valor de x a 9.
x = 10;
y = --x;

Al evaluar éste código el valor asignado a y será de 9, y el valor final de x 9.

Operadores De Asignación Compuesta:
C también incorpora como tipos de operadores denominados de asignación compuesta con los cuales se puede expresar en forma más concisa ciertos cálculos .Ej.:
x = x + y;

En esta línea de código se le asigna a la variable x el valor de x e y, una forma más profesional de efectuar esta misma asignación sería la siguiente:
x + y;
De manera análoga se efectúa para los demás operadores.

Operadores Relaciónales Y Lógicos:

Utilizados para establecer una relación entre los operandos.

Operadores Relacionales
 
Nombre del tipo
Bytes
Otros nombres
Rango de valores
1int*signed, signed intDepende del sistema
2unsigned int*UnsignedDepende del sistema
3char1signed char-128 a 127
4unsigned char1———0 a 255
5short2short int, signed short int-32768 a 32767
6unsigned short2unsigned short int0 a 65535
7long4long int, signed, long int-2147483648 a 2147483647
8unsigned long4unsigned long int0 a 4294967295
9float4———3.4E+/-308
( 7 digitos)
10double8———1.7E+/-308
(15 digitos)
11long double10———1.2E+/-4932
(19 digitos)
Operadores lógicos:
Operador
Significado
Ejemplo
29
&&
Y(AND)(a<b)&&(c<d)
30
||
O(OR)(a<b)||(c<d)
31
!
NEGACION(NOT)!(a<b)

NOTA :
El símbolo | usado como operador lógico se imprime en pantalla pulsando las teclas ALT + 124

Operador Coma (,) :
El operador coma (,) evalúa dos o más expresiones donde la sintaxis permite solo una. Ej.:for(int min = 0, max = longitud - 1; min < max; mi++, max--) {
...
}

Acerca de Daniel

Soy ingeniero de sistemas con muchos años de experiencia en el desarrollo de software y gestión de proyectos. El objetivo al desarrollar este sitio web el de brindar información y conocimientos, tanto a nivel académico como profesional sobre diversas tecnologías involucradas en las disciplinas computacionales. Confio en brindar información lo mas didactica y clara en lo referente contenido académico. Así como ejemplos y casos reales de soluciones problemas que se presentan en un entorno de producción.
Esta entrada fue publicada en C/C++ y etiquetada , . Guarda el enlace permanente.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos necesarios están marcados *

Puedes usar las siguientes etiquetas y atributos HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>


Última modificación: 15/04/2013