Expressões e atribuições
As expressões são o meio fundamental de especificar computações em uma linguagem de programação. É crucial que o programador entenda tanto a sintaxe como a semântica das expressões – ou seja, o que significam e o que é determinado pela maneira com que são avaliadas.
• Sintaxe – quais são os formatos válidos de uma expressão • Semântica – o que significam e o que é determinado pela maneira com que são avaliadas
Para entender a avaliação de expressões é necessário estar familiarizado com as ordens de avaliação de operadores e de operandos. A ordem de avaliação de operadores de expressão é regida pelas regras de associatividade e de precedência da linguagem. Ainda que o valor de uma expressão, as vezes, dependa dela, a ordem de avaliação de operandos em expressão muitas vezes não é declarada pelos projetistas da linguagem, o que acarreta uma situação que permite aos programas produzirem resultados em diferentes implementações. Outras questões relativas à semântica das expressões são a não-coincidência de tipos, as coerções e a avaliação curto-circuito.
A essência das linguagens de programação imperativas é o papel predominante das instruções de atribuição cuja finalidade é mudar o valor de uma variável. Assim, uma parte integrante de todas as linguagens imperativas é o conceito de variáveis cujo valores mudam durante a execução do programa (as linguagens não-imperativas, às vezes, incluem variáveis de um tipo diferente, como, por exemplo, os parâmetros de função em linguagens funcionais).
Uma instrução de atribuição pode simplesmente fazer com que um valor seja copiado de uma célula de memória para outra. Mas, em muitos casos, as instruções de atribuição incluem expressões com operadores, o que faz com que os valores sejam copiados para o processador e processados e o resultado copiado para a memória.
As instruções de atribuição simples especificam que uma expressão deve ser avaliada e