Publicidade

Atribuição e Incremento

Operadores de atribuição em C e incremento (++) / decremento (--) explicados.

📖 O que você vai aprender nesta página
✅ Essencial
  • = atribui, == compara
  • Atribuições compostas: += -= *= /=
  • ++ adiciona 1, -- subtrai 1
⭐ Leia se tiver tempo
  • Prefixo ++i vs pós-fixado i++
  • Incrementar a mesma variável duas vezes em uma única expressão é indefinido

Operador de Atribuição — = Não Significa "igual"

a = b significa "armazene o valor de b em a". Não é o sinal de igual da matemática.
int a, b;
a = 5;        // armazena 5 em a
b = a + 3;    // armazena (a+3)=8 em b
a = a + 1;    // armazena (a+1)=6 em a (a era 5, agora é 6)
Diferente da matemática: a = a + 1 não faria sentido como equação, mas em C significa "pegue o valor atual de a, some 1 e guarde o resultado de volta em a" — então a simplesmente aumenta em 1.

Operadores de Atribuição Composta

Sintaxe abreviada para padrões comuns de "atualizar uma variável".
SintaxeSignificadoExemploResultado (quando a=10)
a += ba = a + ba += 3a = 13
a -= ba = a - ba -= 4a = 6
a *= ba = a * ba *= 2a = 20
a /= ba = a / ba /= 3a = 3
a %= ba = a % ba %= 3a = 1
Acostume-se: formas como sum += num; aparecem o tempo todo em C, C++, Java e Python.

🎮 Interativo — como a atribuição composta atualiza a

Mude o operador e os operandos para percorrer cada passo da atualização.
① A expressão escrita
a += 3;
② O compilador expande
③ Substitui o a atual
④ Guarda o resultado de volta em a
Variável a (caixa de memória)
10
a guarda o valor inicial. Clique em "Próximo passo" para ver como expande.

🔁 Simulador estilo laço — acumulando um valor

Aplique a mesma atribuição composta repetidamente e veja o a crescer. Ajuda a criar intuição para o clássico sum += i dentro de um laço.
a = 0 (inicial)
💡 Exemplo: for (int i = 1; i <= n; i++) sum += i; simplesmente soma i em sum a cada passo. Aperte o botão algumas vezes para pegar o jeito.

Incremento (++) e Decremento (--)

Operadores dedicados que somam ou subtraem 1. Você os vê com mais frequência dentro de laços for.
int i = 5;
i++;     // o mesmo que i = i + 1. i vira 6
i--;     // o mesmo que i = i - 1. i volta para 5
++i;     // também i=i+1 (forma prefixada)

for (int i = 0; i < 10; i++) { ... } // o mais comum em for
i++ (pós-fixado)
O valor da expressão é o i original; depois i aumenta em 1.
++i (prefixado)
i aumenta em 1 primeiro; o valor da expressão é o novo i.

Demonstração de Incremento

variável i
0

Experimente — Atribuição e Incremento

assign.c
Saída
Clique em "Executar" para rodar...
💡 Algumas coisas para tentar
Publicidade

Aulas Relacionadas

Operadores
Operadores Aritméticos
Guia visual dos operadores aritméticos em C (+, -, *, /, %), incluindo as armadilhas da divisão inteira.
Operadores
Operadores de Comparação e Lógicos
Operadores de comparação de C (==, !=, <, >) e operadores lógicos (&&, ||, !).
Laços / Arrays / Strings
Laços (for / while)
Como usar laços for e while em C, com explicações visuais.
← Aula anterior
Aula 9: Teste (Aritmética)
Próxima aula →
Aula 11: Operadores de Comparação e Lógicos

Teste seu entendimento

Teste seu entendimento desta aula!

Q1. Após int a = 5; a += 3; qual é o valor de a?

5
3
8

a += 3 equivale a a = a + 3, então 5 + 3 = 8.

Q2. Dado int a = 5; int b = a++; qual é o valor de b?

5
6
4

a++ é pós-incremento: o valor atual de a (5) é atribuído a b primeiro e só depois a vira 6.

Q3. Dado int a = 5; int b = ++a; qual é o valor de b?

5
6
4

++a é pré-incremento: a vira 6 primeiro, e esse novo valor é atribuído a b.

Compartilhe este artigo
Compartilhar no X (Twitter) Compartilhar no Facebook Compartilhar no LinkedIn