Aula 03 - Operadores e Expressões ➕
O que são Operadores?
- Símbolos que instruem o compilador a realizar manipulações matemáticas ou lógicas.
Operadores Aritméticos
+ (Adição)
- (Subtração)
* (Multiplicação)
/ (Divisão)
% (Módulo - Resto da divisão)
Divisão Inteira vs Real
10 / 3 resulta em 3 (inteiro)
10.0 / 3.0 resulta em 3.333 (double)
O Operador de Módulo (%)
- Funciona apenas com inteiros
- Exemplo:
7 % 2 é 1
- Muito usado para verificar se um número é par/ímpar
Incremento e Decremento
x++ (Pós-incremento)
++x (Pré-incremento)
x-- / --x
Diferença do Pré/Pós
int a = 5;
int b = a++; // b=5, a=6
int c = ++a; // c=7, a=7
Operadores de Atribuição Composta
x += 5 (x = x + 5)
x -= 2
x *= 3
x /= 4
Operadores Relacionais (Comparação)
== (Igual a)
!= (Diferente de)
> / <
>= / <=
= atribui valor
== compara igualdade
- Um erro comum é usar
= dentro de um if
Operadores Lógicos
&& (AND / E)
|| (OR / OU)
! (NOT / NÃO)
Tabela Verdade (AND)
| A |
B |
A && B |
| T |
T |
T |
| T |
F |
F |
| F |
F |
F |
Tabela Verdade (OR)
Circuitos Curtos (Short-circuit)
- No
&&, se o primeiro for false, o segundo nem é testado.
- No
||, se o primeiro for true, o segundo nem é testado.
Operador Ternário
condição ? valor_se_verdadeiro : valor_se_falso
string status = (nota >= 7) ? "Aprovado" : "Reprovado";
Casting (Conversão de Tipo)
- Implícito: O compilador faz sozinho (ex: int -> double)
- Explícito: Nós forçamos a barra.
static_cast (C++ Moderno)
double resultado = static_cast<double>(total) / 5;
- Mais seguro que o cast estilo C (double)total.
Precedência de Operadores
- Parentêses
()
- Multiplicação/Divisão
* / %
- Soma/Subtração
+ -
- Comparação
< > <= >=
- Igualdade
== !=
Expressões Matemáticas Complexas
float x = (a + b) * c / (d - e);
Manipulação de Bits (Bitwise)
& (AND), | (OR), ^ (XOR), ~ (NOT)
- Usado em sistemas embarcados e drivers.
Shift de Bits
<< (Left shift)
>> (Right shift)
Resumo da Aula
- Entender a divisão inteira é crucial.
- O operador ternário limpa o código.
- Cuidado com a precedência!
Fim da Aula 03
- Próxima aula: Estruturas de Controle!