Determinar a ordem das operações em C ++

Todos os operadores de executar alguma função definida em C ++. Além disso, cada operador tem uma precedência - uma ordem específica na qual as expressões são avaliadas. Considere, por exemplo, como precedência afeta resolver o seguinte problema:

int var = 2 * 3 + 1-

Se a adição for realizada antes da multiplicação, o valor da expressão é 2 vezes, 4 ou 8. Se a multiplicação é realizada em primeiro lugar, o valor é 6 mais 1, ou 7.

A precedência dos operadores determina quem vai primeiro. O conceito de precedência também está presente na aritmética. C ++ adere à precedência aritmética comum. Portanto, a multiplicação tem precedência maior do que disso, então o resultado é 7.

Então o que acontece quando dois operadores da mesma precedência aparecem na mesma expressão? Por exemplo:

int var = 8/4 / 2-

Quando os operadores da mesma precedência aparecem na mesma expressão, eles são avaliados da esquerda para a direita (a mesma regra aplicada em aritmética). Assim, neste trecho de código, var é igual a 8 dividida por 4 (o qual é 2) dividido por 2 (que é um).

A expressão

x / 100 + 32

divide x em 100 antes de adicionar 32. Mas e se o programador queria dividir x de 100 mais 32? O programador pode alterar a precedência ao integrar expressões juntos em parênteses (tons de álgebra!), Como segue:

X / (100 + 32)

Esta expressão tem o mesmo efeito que dividindo x por 132. A expressão original

x / 100 + 32

é idêntica à expressão

(X / 100) + 32

menu