index.htm

PREPARATE PARA EL VERANO

aeromodelismo - apuntes comunicaciones javascript lenguaje c php autoayuda bolsa bricolage chistes deportes empleo fotografia digital mascotas motor ocio pisos plantas recetas sabiasque salud thermomix timos trucos

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 ::

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.

Actualizado: 20/05/2013




· · · · ·