Unidad II
Operadores Aritméticos, Racionales y lógicos
Un operador es un símbolo especial que indica al compilador que debe efectuar una operación matemática o lógica.
C++ reconoce los siguientes operadores aritméticos:
Operador Operación:
Suma
Resta
Divicion
Como notas importantes a recordar siempre;
En problemas de división entre enteros, C++ trunca la parte residual, es decir
</code> área de declaración de variables float a; área de operaciones
a = 10 / 4;
área de despliegue de resultados desplegar a; → En pantalla sale ( 2.000000 ) </code> El problema no es el tipo float, sino que por definición de la división entre enteros C++ siempre trunca la parte residual, mas adelante se indica como se resolverá este problema. El operador (%) devuelve el residuo entero de una división entre enteros, ejemplo; <code> área de declaración
int alfa;
área de operaciones alfa = 23 % 4; área de despliegue
desplegar alfa; → El resultado en pantalla es 3
Para resolver los problemas de potencias y raíces, se usan ciertas instrucciones especiales que proporciona el lenguaje, llamadas funciones matemáticas, en C++ existe toda una librería de instrucciones o funciones matemáticas.
Recordar que todas las funciones reciben uno o más datos o valores y regresan siempre un resultado, una de estas funciones matemáticas es:
#include <math.h>
double pow(double base, double exp);
Esta función ocupa dos valores o datos( base y exp) ambos de tipo double, y regresa un resultado también de tipo double.
Los operadores relacionales, también denominados operadores binarios lógicos y de comparación, se utilizan para comprobar la veracidad o falsedad de determinadas propuestas de relación (en realidad se trata respuestas a preguntas). Las expresiones que los contienen se denominan expresiones relacionales. Aceptan diversos tipos de argumentos, y el resultado, que es la respuesta a la pregunta, es siempre del tipo cierto/falso, es decir, producen un resultado booleano
Si la propuesta es cierta, el resultado es true (un valor distinto de cero), si es falsa false (cero). C++ dispone de los siguientes:
< Menor que
> Mayor que
<= Menor o igual que
>= Mayor o igual que
== Igual que (identidad
!= Desigual que (desigualdad
Tipos de datos en c++
Secuencias de escape
\a 0x07 BEL Sonido audible (bell)
\b 0x08 BS Retroceso (backspace)
\f 0x0C FF Salto de formato (formfeed)
\n 0x0A LF Saltar una línea (linefeed)
\r 0x0D CR Retorno de carro (carriage return)
\t 0x09 HT Tabulación horizontal (H Tab)
\v 0x0B VT Tabulación vertical (V Tab)
\\ 0x5c \ Barra invertida (backslash) [2]
\' 0x27 ' Apóstrofo (comilla simple)
\" 0x22 " Doble comilla
\? 0x3F ? Interrogación
\O cualquiera cualquiera O = cadena de hasta tres dígitos octales
\xH cualquiera cualquiera H = cadena de dígitos hexadecimales
\XH cualquiera cualquiera H = cadena de dígitos hexadecimales
Precedencia y asociación de operadores
Tipo
|
Operadores
|
Primario
|
[] {x:y} () f(x) new x.y x[y]
|
Sufijo
|
x++ x--
|
Unario
|
++x --x + - ~ ! delete typeof void
|
Multiplicativo
|
* / %
|
Aditivo
|
+ -
|
Desplazamiento en modo bit
|
<< >> >>>
|
Relacional
|
< > <= >= instanceof
|
Igualdad
|
== != === !==
|
AND en modo bit
|
&
|
XOR en modo bit
|
^
|
OR en modo bit
|
|
|
AND lógico
|
&&
|
OR lógico
|
||
|
Condicional
|
?:
|
Asignación
|
= *= /= %= += -= <<= >>= >>>= &= ^= |=
|
Coma
|
,
|
Manipuladores de flujo
Los manipuladores son constantes y/o métodos que constituyen una alternativa a los indicadores. Se pueden introducir en la propia sentencia de entrada o salida. Los manipuladores pueden tener argumentos o no tenerlos. Los manipuladores sin argumentos (endl, flush, etc.) están definidos en iostream.h. Los que tienen argumentos están declarados en iomanip.h. Un manipulador sólo afecta al flujo (cin, cout, etc.) al que se aplica.
#include <iostream> using std::cout ; using std::endl; int main() { cout << "Bienvenido a "; cout << "C++!"; cout << endl; // fin del manipulafor de flujo return 0; } // fin de la función end main
Los manipuladores de entrada/salida más utilizados se citan a continuación:
dec, hex y oct: establecen base para enteros ws: se saltan los blancos iniciales
endl: se imprime un ‘\n’ y se vacía el buffer de salida
flush: se vacía el buffer de salida
setw(int w): establece la anchura mínima de campo
setprecision(int p): establece el número de cifras
setfill(char ch): establece el carácter de relleno
setiosflag(long i) equivale al indicador setf()
unsetiosflag(long i) equivale a unsetf()
Un manipulador se utiliza de la forma:
cout << hex << 100;
cout << setw(10) << mat[i][j] << endl;
El efecto de los manipuladores permanece en el flujo correspondiente hasta que se cambian por otro manipulador, a excepción de setw() que hay que introducirlo en el flujo antes de cada dato al que se le quiera aplicar esa anchura de campo.
Los manipuladores son constantes y/o métodos que constituyen una alternativa a los indicadores. Se pueden introducir en la propia sentencia de entrada o salida. Los manipuladores pueden tener argumentos o no tenerlos. Los manipuladores sin argumentos (endl, flush, etc.) están definidos en iostream.h. Los que tienen argumentos están declarados en iomanip.h. Un manipulador sólo afecta al flujo (cin, cout, etc.) al que se aplica.
#include <iostream> using std::cout ; using std::endl; int main() { cout << "Bienvenido a "; cout << "C++!"; cout << endl; // fin del manipulafor de flujo return 0; } // fin de la función end main
Los manipuladores de entrada/salida más utilizados se citan a continuación:
dec, hex y oct: establecen base para enteros ws: se saltan los blancos iniciales
endl: se imprime un ‘\n’ y se vacía el buffer de salida
flush: se vacía el buffer de salida
setw(int w): establece la anchura mínima de campo
setprecision(int p): establece el número de cifras
setfill(char ch): establece el carácter de relleno
setiosflag(long i) equivale al indicador setf()
unsetiosflag(long i) equivale a unsetf()
Un manipulador se utiliza de la forma:
cout << hex << 100;
cout << setw(10) << mat[i][j] << endl;
El efecto de los manipuladores permanece en el flujo correspondiente hasta que se cambian por otro manipulador, a excepción de setw() que hay que introducirlo en el flujo antes de cada dato al que se le quiera aplicar esa anchura de campo.
No hay comentarios:
Publicar un comentario