Pular para conteúdo

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)
  • > / <
  • >= / <=

Cuidado com = vs ==

  • = 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)

A B A || B
T F T
F F F

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

  1. Parentêses ()
  2. Multiplicação/Divisão * / %
  3. Soma/Subtração + -
  4. Comparação < > <= >=
  5. 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!