En
lenguaje C existen expresiones
de asignación y, para escribirlas, se utilizan
los siguientes operadores
de asignación:
Figura.
Clasificación de los operadores de asignación en
C.
De ellos, el más utilizado es el operador de
asignación (=).
Su funcionalidad es equiparable a la de una instrucción
de
asignación en psedocódigo, y su
sintaxis es muy
similar.
<nombre_de_la_variable> =
<expresión>;
|
Existen dos diferencias:
1.
En vez del símbolo reservado flecha izquierda (←),
se utiliza el carácter igual
(=).
2. Se debe escribir un punto
y coma (;)
al final.
Ejemplo
1: Partiendo
de la constante simbólica
#define PI
3.141592
y de las variables
float area, longitud, radio;
una instrucción de asignación puede ser:
radio = 5.78;
Técnicamente, en
lenguaje C, una
asignación (=)
es una operación, al igual que lo es una suma (+)
o una resta (-).
En consecuencia, radio
= 5.78
es una expresión de asignación, que entra dentro
de la categoría de las instrucciones de expresión.
<instrucción_de_expresión>;
|
De la evaluación de una expresión de
asignación
siempre se obtiene el mismo valor que el asignado a la variable, en
este caso, 5.78.
Si ahora escribimos:
area = PI * pow( radio, 2 );
longitud
= 2 * PI * radio;
De la evaluación de estas instrucciones de
expresión se obtienen los valores 57.046290
y 36.316804,
los
cuales coinciden con los valores asignados a las variables area y
longitud,
respectivamente.
Cuando el operador de asignación (=)
se escribe precedido de un operador aritmético: suma (+),
resta (-),
multiplicación (*),
división (/)
o módulo (%),
la unión de ambos se convierte en un nuevo operador de
asignación que opera de la siguiente manera:
"A
la variable se le asigna el valor que se obtiene de evaluar
<variable>
<operador_aritmético>
<expresión>."
Ejemplo 2: Dada
la siguiente declaración de variables:
int m = 4, n = 1;
se
puede
escribir
la instrucción de expresión
m += 3;
que
es
equivalente
a la instrucción
m = m + 3;
En la memoria, cambiará el valor almacenado en el espacio
representado por la variable m.
Si, a continuación, se ejecuta la instrucción
m *= n += 2;
ahora, los
valores de las
variables m
y n
son:
Primero, se evalúa la expresión n += 2
(equivalente a n = n + 2).
Esto produce que a la variable n
se le asigne un 3.
En segundo lugar, se evalúa la expresión m *= 3 (equivalente
a m = m * 3),
asignándosele a la variable m
el valor 21.
|