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.

menu