Anda di halaman 1dari 24

OPERADORES EN C++

C++ , posee los nmeros de operadores de C y se les han aadido nuevos y propios de C++ los operadores pueden agruparse en: 1. Aritmticos 6. Del preprocesador

2. De asignacin 3. A nivel de bits


4. Lgicos 5. Posfijos

7. De referencia 8. Relacionales
9. Especficos de C++ 10. De incremento y Disminucin

21/10/2012

Mg. Edgar Ruiz Lizama

TABLA I:

OPERADORES ARITMTICOS

OPERADOR
+ -

SIGNIFICADO
Adicin Sustraccin

*
/ %

Producto
Divisin Mdulo Resto

21/10/2012

Mg. Edgar Ruiz Lizama

Ejemplo: OPERADORES ARITMTICOS


#include <iostream> using namespace std; int main() { int x=20,y=7; cout<<"a : "<<x<<endl; cout<<"b : "<<y<<endl; cout<<"La suma es: "<<(x+y)<<endl; cout<<"La resta es: "<<(x-y)<<endl; cout<<"La producto es: "<<(x*y)<<endl; cout<<"El modulo o resto es: "<<(x%y)<<endl; cout<<"La division es: "<<(x/y)<<endl; return 0; }

21/10/2012

Mg. Edgar Ruiz Lizama

EXPRESIONES DE ASIGNACIN

< LAD. IZQ. > <OPERADOR DE ASIGNAC. > <LAD. DER.>

LADO IZQ.

OPERADOR

LADO DER.

Variable Variable Variable


21/10/2012 Mg. Edgar Ruiz Lizama

= = =

Variable Expresin Constante


4

TABLA II:

OPERADORES DE ASIGNACIN

OPERADOR

EJEMPLO

EQUIVALENC.

= += -= *= /= %=
21/10/2012

a=b+c a+=c a-=c a*=c a/=c a%=c


Mg. Edgar Ruiz Lizama

Exp1=Exp2 a=a+c a=a-c a=a*c a=a/c a=a%c


5

EJEMPLO: EXPRESIONES DE ASIGNACIN


#include <iostream> using namespace std; int main() // Opeasig.cpp { int x=10,y=5; cout<<"x= "<<x<<"\ty= "<<y<<endl; cout<<"Valor de x+=y es: "<<(x+=y)<<endl; cout<<"Valor de x*=y es: "<<(x*=y)<<endl; cout<<"Valor de x/=y es: "<<(x/=y)<<endl; cout<<"Valor de x%=y es: "<<(x%=y)<<endl; cout<<"Valor de x+=x+y es: "<<(x+=x+y)<<endl; cout<<"Valor de x-=x+y es: "<<(x-=x+y)<<endl; return 0; }

21/10/2012

Mg. Edgar Ruiz Lizama

TABLA II: OPERADORES DE ASIGNACIN (continuacin)


OPERADOR EJEMPLO EQUIVALENC.

<<= >> = &= |= ^=

a <<= 2 a >> =5 a & =b a | =b a^ =b

a=a<<2 a=a>>5 a=a&b a=a|b a=a^c

21/10/2012

Mg. Edgar Ruiz Lizama

TABLA III: OPERADORES A NIVEL DE BITS


OPERADOR SIGNIFICADO

&

AND

|
^ << >> ~

OR
OR(Exclusivo) Desplazamiento a la izquierda. Desplazamiento a la derecha Complemento a uno

21/10/2012

Mg. Edgar Ruiz Lizama

Resultados de combinar dos bits mediante los operadores & , | , ^ .

BIT1 BIT2 BIT1 & BIT2 BIT1 | BIT2 BIT1^BIT2


0 1 0 1
21/10/2012

0 0 1 1

0 0 0 1
Mg. Edgar Ruiz Lizama

0 1 1 1

0 1 1 0
9

EJEMPLO: Uso de operadores a nivel de bits AND, OR exclusivo,


inclusivo y el complemento a uno
#include <iostream> void mostrarBits(unsigned int); using namespace std; int main() { unsigned num1, num2,mask; num1=32767; mask=1; cout<<"\nEl resultado de combinar lo siguiente:\n"; mostrarBits(num1); mostrarBits(mask); cout<<"Usando operadores a nivel de bits AND & es: \n"; mostrarBits(num1 & mask); cout<<"\nEl resultado de combinar lo siguiente:\n"; mostrarBits(num1); mostrarBits(mask); cout<<"Usando operadores a nivel de bits OR | inclusivo es: \n"; mostrarBits(num1 | mask); num1=100; num2=1000; cout<<"\nEl resultado de combinar lo siguiente:\n"; mostrarBits(num1); mostrarBits(num2);
21/10/2012 Mg. Edgar Ruiz Lizama

OR

10

cout<<"Usando operadores a nivel de bits OR ^ exclusivo es: \n"; mostrarBits(num1 ^ num2); num1=65535; cout<<"complemento a uno de:\n "; mostrarBits(num1); cout<<"es\n"; mostrarBits(~num1); return 0; } void mostrarBits(unsigned valor) { unsigned i,displayMask=1<<15; cout<<valor<<" = "; for(i=1; i<=16;i++) { cout<<(valor & displayMask? '1' : '0'); valor <<=1; if(i%8==0) cout<<' '; } cout<<"\n"; }

EJEMPLO: CONTINUACION

21/10/2012

Mg. Edgar Ruiz Lizama

11

EJEMPLO: Uso de los operadores a nivel de bits desplazamiento a la izquierda


<< y a la derecha a nivel de bits: <<, >>
#include <iostream> void mostrarBits(unsigned); using namespace std; int main() { unsigned num1=1100; cout<<"\nEl resultado de desplazar a la izquierda \n"; mostrarBits(num1); cout<<"8 posiciones usando el operador de"; cout<<" desplazamiento a la izquierda << es:\n "; mostrarBits(num1<<8); cout<<"\nEl resultado de desplazar a la izquierda \n"; mostrarBits(num1); cout<<"8 posiciones usando el operador de"; cout<<" desplazamiento a la derecha >> es:\n "; mostrarBits(num1>>8); return 0; }

21/10/2012

Mg. Edgar Ruiz Lizama

12

Ejemplo: continuacin
void mostrarBits(unsigned valor) { unsigned i,displayMask=1<<15; cout<<valor<<" = "; for(i=1; i<=16;i++) { cout<<(valor & displayMask? '1' : '0'); valor <<=1; if(i%8==0) cout<<' '; } cout<<"\n"; }

21/10/2012

Mg. Edgar Ruiz Lizama

13

TABLA IV: OPERADORES LGICOS


OPERADOR SIGNIFICADO

&&
|| !=

AND
OR NOT

NOTA: El resultado de aplicar un operador lgico o un operador relacional es un valor booleano; es decir FALSE ( 0 ) es TRUE ( 1 )
21/10/2012 Mg. Edgar Ruiz Lizama 14

EJEMPLO: OPERADORES LGICOS


#include <iostream> #define TRUE 1 #define FALSE !TRUE int and_logico(int x,int y, int z); int or_logico(int x,int y, int z); int negacion_logico(int x,int y); using namespace std; int main()//opelogi.cpp { int a=3, b=4, c=5; cout<<"a= "<<a<<" b= "<<b<<" c= "<<c<<endl; cout<<" c>b>a : "<<and_logico(a,b,c)<<endl; cout<<" c>a o c>b : "<<or_logico(a,b,c)<<endl; cout<<" no(b>a) : "<<negacion_logico(a,b)<<endl; return 0; }

21/10/2012

Mg. Edgar Ruiz Lizama

15

CONTINUACION
int and_logico(int x,int y, int z) { if((z>y)&&(y>x)) return TRUE; else return FALSE; } int or_logico(int x,int y, int z) { if((z>x)&&(z>y)) return TRUE; else return FALSE; } int negacion_logico(int x,int y) { if(!(y>x)) return TRUE; else return FALSE; }

21/10/2012

Mg. Edgar Ruiz Lizama

16

TABLA V: OPERADORES POSFIJOS Y PREFIJOS

OPERADORES PREFIJOS POSFIJOS

NOTACIN <Operador> <Variable> <Variable> <Operador>

EJEMPLO ++x; x++;

21/10/2012

Mg. Edgar Ruiz Lizama

17

TABLA VI: DEL PREPROCESADOR


OPERADOR new delete delete[] throw SIGNIFICADO Crear o asignar memoria. Desasignar memoria liberar memoria. Liberar memoria de un array. Manejo de excepciones.

21/10/2012

Mg. Edgar Ruiz Lizama

18

TABLA VII: OPERADORES REFERENCIA Los operadores de referencia son:


OPERADOR SIGNIFICADO EJEMPLO

& *

Otorga la direccin de memoria de una variable Permite declarar una variable como puntero

x=&y; int *x;

21/10/2012

Mg. Edgar Ruiz Lizama

19

TABLA VIII: OPERADORES RELACIONALES


OPERADOR SIGNIFICADO EJEMPLO

== !=

Igualdad. Diferente

a==b a!=b

>
< >= <=
21/10/2012

Mayor que
Menor que Mayor Igual Menor Igual
Mg. Edgar Ruiz Lizama

a>b
a<b a>=b a<=b
20

EJEMPLO: HALLAR EL MAYOR DE DOS ENTEROS


#include <iostream> int mayor(int x,int y);
using namespace std; int main() { int a,b; cout<<"Ingrese dos enteros: "<<endl; cin>>a>>b; cout<<"El mayor es: "<<mayor(a,b)<<endl; return 0; } int mayor(int x,int y) { if(x>y) return x; else return y; }
21/10/2012 Mg. Edgar Ruiz Lizama 21

TABLA X: OPERADORES DE INCREMENTO Y


DISMINUCIN OPERADOR ++ -SIGNIFICADO Incremento en 1 Disminucin en 1

NOTA: Los operadores de incremento y disminucin pueden ser: Prefijos como ++x; o posfijos como x++;
21/10/2012 Mg. Edgar Ruiz Lizama 22

Ejemplo: OPERADORES DE INCREMENTO O


DISMINUCION
#include <iostream> using namespace std; int main() { int x=20,y=7; cout<<"a : "<<x<<endl; cout<<"b : "<<y<<endl; cout<<"incremento en uno para x: "<<(++x)<<endl; cout<<"decremento en uno para x: "<<(--y)<<endl;

return 0;
}

21/10/2012

Mg. Edgar Ruiz Lizama

23

Referencias

Deitel H.M. y Deitel P.J., (2008). Como Programar en C/C++ ". Mxico, 6ta. ed. Prentice Hall. Kernighan Brian W. & Ritchie Dennis M. (1993) El Lenguaje de Programacin C. 2da. Edicin. Prentice-Hall Hispanoamericana, 294 p. Mxico. Parker Alan, (1993). "Algorithms and Data Structures in C++ ". USA CRC Press: 257p. Ruiz Lizama Edgar, (2009). Programacin con C++". Lima, 1ra. Edicin, Fondo Editorial UNMSM: 434p. Ruiz Lizama Edgar, (1999). "Curso de Lenguaje C". Lima, Facultad de Ingeniera Industrial UNMSM: 234p. Staguaard, Andrew (1998) "Tcnicas estructuradas y orientadas a objetos: una introduccin utilizando C++". Mxico. Prentice-Hall Hispanoamericana, 770 p. Mxico. Stroustrup, Bjarne (2002) "El Lenguaje de Programacin C++ Edicin especial". Addison Wesley PEARSON EDUCACION S.A. 1050 p. Espaa.

21/10/2012

Mg. Edgar Ruiz Lizama

24

Anda mungkin juga menyukai