Alternativa C
Análise da Questão
Esta questão aborda o funcionamento dos operadores de incremento (++) e decremento (--) nas linguagens de programação, especificamente a diferença entre as formas pré-fixada e pós-fixada.
Para resolver, precisamos simular o código linha a linha, observando quando o valor da variável muda e qual valor é utilizado nos cálculos.
Passo a Passo da Execução
Considere o código apresentado:
int estoque = 5;
total = ++estoque * 2 + estoque++;
- Inicialização: A variável
estoque começa com o valor 5. - Operador Pré-Fixado (
++estoque):
- Neste caso, o valor da variável é incrementado antes de ser usado na expressão.
- O
estoque passa de 5 para 6. - O valor utilizado na conta é 6.
- **Multiplicação (
* 2):**
- Calculamos $6 \times 2$, resultando em 12.
- Operador Pós-Fixado (
estoque++):
- Aqui, o valor original é usado primeiro, e o incremento ocorre após.
- O valor atual de
estoque é 6. Este é o valor utilizado na soma. - Após o uso, o
estoque é incrementado novamente, passando de 6 para 7.
- Soma Final (
+):
- Somamos o resultado da multiplicação (12) com o valor do operador pós-fixado (6).
- Cálculo: $12 + 6 = 18$.
- O valor de
total é 18.
Estado Final:
(Nota Técnica: Em padrões modernos de C/C++, modificar a mesma variável duas vezes em uma única expressão pode gerar "comportamento indefinido". No entanto, em provas de concursos e lógica introdutória, aplica-se a regra de execução sequencial da esquerda para a direita).
Análise das Afirmações
Agora, vamos verificar cada item com base na nossa simulação:
- I. O valor final de estoque é 7 ao término da instrução.
- Verdadeiro. Como explicado, o
estoque começou em 5, foi incrementado para 6 e depois para 7. - II. A expressão avaliada para total resulta no valor 18.
- Verdadeiro. O cálculo foi (6 \times 2) + 6 = 18.
- III. O uso de parênteses em
(++estoque) alteraria a natureza do incremento de pré-fixado. - Falso. Os parênteses servem apenas para definir a precedência das operações (qual operação acontece primeiro), mas não mudam a semântica do operador. O símbolo
++ colocado antes da variável continua sendo um incremento pré-fixado, independentemente dos parênteses.
Conclusão
As afirmativas corretas são I e II. Portanto, a alternativa correta é a C.