Como usar ordem correta para C Programação Funções Matemáticas
Antes de fugir da tirania do Math inevitável, você precisa saber sobre a ordem de precedência para a programação C. Não é uma ordem religiosa, e não tem nada a ver com adivinhar o futuro. Trata-se de assegurar que a matemática equações que o código em C representam o que você pretende.
Como obter a ordem correta
Considere o seguinte quebra-cabeça. Você consegue adivinhar o valor da variável responda?
answer = 5 + 4 * 3-
Como um ser humano, a leitura do quebra-cabeça da esquerda para a direita, você provavelmente responder a 27: 5 + 4 é 9 vezes 3 é 27. Isso é correto. O computador, no entanto, responderia 17.
O computador não está errado - ele só assume que a multiplicação é mais importante do que a adição. Portanto, essa parte da equação começa calculado em primeiro lugar. Para o computador, a ordem real dos valores e operadores é menos importante do que os operadores são usados. Para colocar de outra forma, a multiplicação tem precedência sobre a adição.
Você pode lembrar a ordem básica de precedência para os operadores matemáticos básicos como este:
Primeiro: multiplicação, divisão
Segundo: adição, subtração
O mnemônico inteligente para a ordem básica de precedência é, Nº 147-A minha cara tia Sally. # 148- Para mais detalhes sobre a ordem de precedência para todos os operadores de linguagem C, consulte o Apêndice G.
Exercício 1: Escreva um programa que avalia a seguinte equação, exibindo o resultado:
20-5 * 2 + 42/6
Veja se você pode adivinhar a saída antes que o programa é executado.
Exercício 2: Modificar o código a partir de um exercício de modo que o programa avalia a equação
12/3/2
Não, isso não é um encontro. É 12 dividido por 3 dividido por dois.
Como forçar a ordem com parênteses
A ordem de precedência pode ser enganado usando parênteses. Quanto à linguagem C está em causa, qualquer coisa que acontece entre parênteses é avaliada pela primeira vez em qualquer equação. Assim, mesmo quando você esquecer a ordem de precedência, você pode forçá-lo abraçando partes de uma equação com parênteses.
Math frente!
Exercício 3: Código a seguinte equação para que o resultado é igual a 14, e não 2:
12-5 * 2
Exercício 4: Código da seguinte equação (de Exercício 1) de modo que a adição ea subtração ocorrer antes multiplicação e divisão. Se você fizer isso corretamente, o resultado é 110:
20-5 * 2 + 42/6
No futuro, o código que você escreve pode lidar mais com as variáveis do que com valores imediatos, por isso você deve entender a equação eo que está sendo avaliada. Por exemplo, se você precisa adicionar o número de trabalhadores a tempo completo ea tempo parcial antes de dividir por a folha de pagamento total, coloque os dois primeiros valores entre parênteses.
Além da ordem de precedência, parênteses adicionar um nível de legibilidade ao código, especialmente nas equações longas. Mesmo quando parênteses não são necessárias, acrescentando considerar-los se o resultado é código mais legível.