OPERADORES EN EL LENGUAJE C
Operadores aritmeticos.Los operadores aritmeticos que se pueden utilizar en C++ son:
|
Operacion |
Accion |
|
x++ |
Postincremento |
|
++x |
Preincremento |
|
x-- |
Postdecremento |
|
--x |
Predecremento |
|
+x |
+ unario |
|
-x |
- unario |
|
x*y |
Multiplicacion |
|
x/y |
Division |
|
x%y |
Modulo |
|
x+y |
Suma |
|
x-y |
Resta |
Los operadores incremento y decremento proporcionan una forma breve de sumar o restar 1 a una variable. Usados como prefijo, como ++i, el valor de la variable se incrementa (decrementa) antes de que la variable sea usada; usada como sufijo, como i++ el valor de la variable se incrementa (decrementa) despues de su utilizacion.
Operadores relacionales.
Los operadores relacionales comparan sus operandos y devuelven el valor 1 si la relacion es cierta, y 0 si no lo es. Son:
|
Operador |
Proposito |
|
< |
Menor que |
|
<= |
Menor o igual que |
|
> |
Mayor que |
|
>= |
Mayor o igual que |
|
== |
Igual |
|
!= |
No igual |
Operadores logicos.
Los operadores logicos que se pueden utilizar en C++ son:
|
Operador |
Accion |
|
! |
Negacion logica |
|
<< |
Y logico |
|
|| |
O logico |
Los valores logicos en C++ estan representados por enteros: 0 es falso y un valor no cero es verdadero. Por ejemplo, el operador ! toma un operando numerico y devuelve int 1 para un operando cero y int 0 en caso contrario. El operador << devuelve 1 si los dos operandos son valores no cero, y 0 en cualquier otro caso. El operador || devuelve 1 si cualquiera de los dos operandos es no cero, y 0 en otro caso. Los operadores << y || evaluan primero el operando de su izquierda, y no evaluan el operando de la derecha si no es necesario. Por ejemplo, si y es cero, la expresion y << x/y da 0 y no realiza la division por 0.
Operadores de asignacion.
Un operador de asignacion altera el valor de un objeto si alterar su tipo. El operador usual de asignacion (=), copia el valor del operando de la derecha en el operando de la izquierda, aplicando las conversiones de tipo suales cuando es necesario. En C++ existen ademas los siguientes operadores de asignacion:
|
+= |
-= |
|
*= |
/= |
|
%= |
> >= |
|
<<= |
&= |
|
^= |
|= |
En cada caso, para una variable a de un tipo predefinido en C++, op = expr equivale a a = a op(expr) . Asi, por ejemplo, a+=5 equivale a a = a +5
Precedencia de operadores.
La interpretacion de cualquier expresion en C++ esta determinada por la precedencia y asociatividad de los operadores en dicha expresion. Cada operador tiene una precedencia, y los operadores en una expresion se evaluan en orden de mayor a menor precedencia. La evaluacion de operadores con la misma precedencia viene determinada por su asociatividad. Y, al igual que en matematicas, los parentesis anulan las reglas de precedencia.
En la siguiente tabla se listan los operadores en C++, su precedencia y su asociatividad. Los operadores se listan en orden de prioridad decreciente (los situados mas arriba tienen mayor prioridad). Los operadores en la misma linea horizontal tienen la misma precedencia.
|
Operador |
Proposito |
Asociatividad |
|
:: |
Scope (unario) |
De derecha a izquierda |
|
:: |
Scope (binario) |
De izquierda a derecha |
|
-> . |
Seleccion de miembros |
De izquierda a derecha |
|
[] |
indices |
De izquierda a derecha |
|
() |
Llamada a funcion |
De izquierda a derecha |
|
++ |
Postincremento |
De izquierda a derecha |
|
-- |
Postdecremento |
De izquierda a derecha |
|
sizeof |
Tamaño de un objeto |
De derecha a izquierda |
|
++ |
Preincremento |
De derecha a izquierda |
|
-- |
Predecremento |
De derecha a izquierda |
|
* & + - ! ~ |
Operadores unarios |
De derecha a izquierda |
|
new |
Crea un objeto |
De derecha a izquierda |
|
delete |
Borra un objeto |
De derecha a izquierda |
|
() |
Conversion de tipo (type cast) |
De derecha a izquierda |
|
->* .* |
Puntero a un miembro |
De izquierda a derecha |
|
* / % |
Operadores multiplicativos |
De izquierda a derecha |
|
+ - |
Operadores aditivos |
De izquierda a derecha |
|
<< >> |
Operadores bitwise |
De izquierda a derecha |
|
< > <= >= |
Operadores de relacion |
De izquierda a derecha |
|
== != |
Operadores de igualdad |
De izquierda a derecha |
|
& |
Y bitwise |
De izquierda a derecha |
|
^ |
bitwise O exclusivo |
De izquierda a derecha |
|
| |
bitwise O inclusivo |
De izquierda a derecha |
|
&& |
Y logico |
De izquierda a derecha |
|
|| |
O logico |
De izquierda a derecha |
|
?: |
Operador condicional |
De derecha a izquierda |
|
= *= /= += -= >*gt;= |
Operadores de asignacion |
De derecha a izquierda |
|
, |
Operador coma |
De derecha a izquierda |
En C++ las reglas de precedencia y asociatividad de operadores corresponden a las reglas matematicas. Sin embargo, esto no funcionara, por ejemplo, con los operadores bitwise. Para tales operadores, se debe utilizar la tabla anterior, o bien parentesis.
El operador :: (scope) es una caracteristica nueva, puesto que no existe nada similar en C. Permite el acceso a una variable global aunque exista una variable local con el mismo nombre. El uso de :: delante del nombre de la variable, indica al compilador que debe utilizar la variable global, en lugar de la local. Ejemplo:
#include <iostream.h>
int indice = 13;
main() {
float indice = 3.2567;
cout <<'El valor de la variable local es:'<< indice << '\n';
cout <<'El valor de la variable global es:'<< ::indice << '\n';
::indice = indice + 7;
cout <<'El valor de la variable local es:'<< indice << '\n';
cout <<'El valor de la variable global es:'<< ::indice << '\n';
}
La salida de este programa es:
El valor de la variable local es:3.2567
El valor de la variable global es: 13
El valor de la variable local es:3.2567
El valor de la variable global es: 10
Se recomienda no abusar del uso del operador ::. Es mejor utilizar diferentes nombres para las variables.
Anterior:
variables y constantes
Siguiente:
entrada salida
apuntes lenguaje c:
· Algunos conceptos· Tipos en el lenguaje c
· Variables y constantes en c
· Operadores en el lenguaje c
· Entrada/salida en c
· Estructuras de control en c
· Arrays y punteros en c
· Reserva dinamica de memoria en c
· Funciones en lenguaje c
· Estructuras en lenguaje c
· Clases
· Clases y encapsulacion en c
· Clases constructores y desctructores en c
· Descomposicion en modulos en c
· Array de objetos en c
· Clases static en c
· Un objeto con un puntero interno
· Punteros a clases en c
· Objetos encadenados en c
· Sobrecarga de operadores en c
IMPORTANTE:
- Si te ha gustado esta pagina, por favor, votanos aqui:- Si no te ha gustado, escribenos y cuentanos en que mejorar.

apuntes