Operadores
Introdução ao uso de operadores e operadores aritméticos.
Operações
Uma vez que se sabe guardar informações para o programa, tornam-se relevantes as operações que podem ser realizadas sobre elas.
Um símbolo que representa uma operação em um código recebe o nome de operador.
Operadores Aritméticos
Operadores aritméticos realizam operações entre tipos numéricos:
Operador | Descrição | Exemplo |
---|---|---|
+ |
Adição | a + b |
- |
Subtração | a - b |
* |
Multiplicação | a * b |
/ |
Divisão | a / b |
% |
Módulo (resto) | a % b |
++ |
Incremento | a++ ou ++a |
-- |
Decremento | a-- ou --a |
Exemplos
cout << 5 + 4 << '\n'; // imprime 9 no terminal
````
```cpp
int x = 5 % 2, y = 10;
cout << x + 4 * y << '\n'; // imprime 41 no terminal
int x = 5, y = 5;
cout << x++ << ' ' << ++y << '\n'; // imprime 5 e 6 no terminal
cout << x << ' ' << y << '\n'; // imprime 6 e 6 no terminal
A divisão entre inteiros sempre dá um resultado inteiro, desconsiderando o resto. O operador módulo retorna o resto da divisão. Os operadores de incremento e decremento modificam o valor da variável em 1 e podem vir antes ou depois da variável:
- Pós-fixado (
a++
): primeiro usa o valor, depois incrementa. - Pré-fixado (
++a
): primeiro incrementa, depois usa o valor.
Operações em Tipos Diferentes
Quando a operação envolve dois tipos primitivos diferentes, o compilador converte o tipo "mais simples" para o tipo "mais complexo":
Ordem de complexidade: bool
→ char
→ int
→ double
.
Operadores de Atribuição
O operador de atribuição =
altera o valor de uma variável:
Também é possível combinar com operadores aritméticos:
int x = 5;
x += 1; // x vira 6
x -= 2; // x vira 4
x *= 2; // x vira 8
x /= 2; // x vira 4
x %= 2; // x vira 0
Equivalente a:
Precedência e Associatividade
Quando múltiplos operadores aparecem em uma expressão, a ordem de avaliação pode alterar o resultado:
- Precedência: nível de prioridade dos operadores (por exemplo,
*
,/
,%
antes de+
,-
). - Associatividade: ordem de avaliação entre operadores de mesma precedência (esquerda → direita ou direita → esquerda).
Para ver a tabela completa de precedência, consulte a referência do C++: https://en.cppreference.com/w/cpp/language/operator_precedence