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
7. De referencia 8. Relacionales
9. Especficos de C++ 10. De incremento y Disminucin
21/10/2012
TABLA I:
OPERADORES ARITMTICOS
OPERADOR
+ -
SIGNIFICADO
Adicin Sustraccin
*
/ %
Producto
Divisin Mdulo Resto
21/10/2012
21/10/2012
EXPRESIONES DE ASIGNACIN
LADO IZQ.
OPERADOR
LADO DER.
= = =
TABLA II:
OPERADORES DE ASIGNACIN
OPERADOR
EJEMPLO
EQUIVALENC.
= += -= *= /= %=
21/10/2012
21/10/2012
21/10/2012
&
AND
|
^ << >> ~
OR
OR(Exclusivo) Desplazamiento a la izquierda. Desplazamiento a la derecha Complemento a uno
21/10/2012
0 0 1 1
0 0 0 1
Mg. Edgar Ruiz Lizama
0 1 1 1
0 1 1 0
9
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
11
21/10/2012
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
13
&&
|| !=
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
21/10/2012
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
16
21/10/2012
17
21/10/2012
18
& *
Otorga la direccin de memoria de una variable Permite declarar una variable como puntero
21/10/2012
19
== !=
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
NOTA: Los operadores de incremento y disminucin pueden ser: Prefijos como ++x; o posfijos como x++;
21/10/2012 Mg. Edgar Ruiz Lizama 22
return 0;
}
21/10/2012
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
24