Operadores
1. Operadores Aritméticos
Usados para realizar operações matemáticas básicas:
| Operador | Operação | Exemplo | Resultado |
|---|---|---|---|
| + | Adição | a + b | Soma |
| – | Subtração | a - b | Diferença |
| * | Multiplicação | a * b | Produto |
| / | Divisão | a / b | Quociente |
| % | Módulo | a % b | Resto inteiro |
Exemplo:
int a = 10, b = 3;
cout << a + b << endl; // 13
cout << a / b << endl; // 3 (divisão inteira)
cout << a % b << endl; // 1 (resto da divisão)
O operador
%só pode ser usado com inteiros.
2. Operadores de Atribuição
Atribuem valores a variáveis, podendo combinar operações:
| Operador | Uso | Equivalente |
|---|---|---|
| = | a = b | |
| += | a += b | a = a + b |
| -= | a -= b | a = a - b |
| *= | a *= b | a = a * b |
| /= | a /= b | a = a / b |
| %= | a %= b | a = a % b |
Exemplo:
int x = 5;
x += 2; // x agora é 7
3. Operadores de Incremento e Decremento
Servem para somar ou subtrair 1 de uma variável:
++aoua++(pré/pós-incremento)--aoua--(pré/pós-decremento)
Exemplo:
int a = 1;
a++; // a = 2
++a; // a = 3
a--; // a = 2
4. Operadores Relacionais
Comparam valores e retornam true ou false:
| Operador | Operação | Exemplo |
|---|---|---|
| == | Igualdade | a == b |
| != | Diferente | a != b |
| > | Maior que | a > b |
| < | Menor que | a < b |
| >= | Maior ou igual | a >= b |
| <= | Menor ou igual | a <= b |
Exemplo:
int a = 5, b = 3;
cout << (a > b) << endl; // 1 (true)
cout << (a == b) << endl; // 0 (false)
5. Operadores Lógicos
Usados para combinar expressões booleanas:
| Operador | Operação | Exemplo |
|---|---|---|
| && | E | (a > 0 && b < 5) |
| || | OU | (a > 0 |
| ! | NÃO | !(a == b) |
Exemplo:
bool resultado = (a > 0 && b < 5); // true se ambos forem verdadeiros
6. Operadores Bitwise (Bit a Bit)
Manipulam bits individuais dos operandos:
| Operador | Operação | Exemplo |
|---|---|---|
| & | E bit a bit | a & b |
| | | OU bit a bit | a | b |
| ^ | XOR bit a bit | a ^ b |
| ~ | NOT bit a bit | ~a |
| << | Desloca à esq. | a << 1 |
| >> | Desloca à dir. | a >> 1 |
Exemplo:
unsigned char a = 1, b = 2;
cout << (a & b) << endl; // 0
cout << (a | b) << endl; // 3
cout << (~a) << endl; // 254 (se a = 1, 8 bits)
7. Ordem de Precedência
- Parênteses
()têm a maior prioridade. - Depois, multiplicação/divisão/módulo (
*,/,%). - Por fim, adição/subtração (
+,-). - Operadores com mesma precedência são avaliados da esquerda para a direita.
8. Exemplo Prático
#include <iostream>
using namespace std;
int main() {
int a = 5, b = 2;
cout << "Soma: " << a + b << endl;
cout << "Subtração: " << a - b << endl;
cout << "Multiplicação: " << a * b << endl;
cout << "Divisão: " << a / b << endl;
cout << "Resto: " << a % b << endl;
cout << "Maior? " << (a > b) << endl;
cout << "Igual? " << (a == b) << endl;
cout << "E lógico? " << (a > 0 && b > 0) << endl;
return 0;
}
