Como usar o modo correto para funções matemáticas c programação

Antes de fugir à 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 garantir 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?

resposta = 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. Dito de outra forma, a multiplicação tem precedência sobre a adição.

Você pode se lembrar da 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 é, “My Dear tia Sally.” 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:

Video: 17 - Programação em Linguagem C - Escopo das Variáveis - Funções

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 de Exercício 1 para que o programa avalia a equação

12/3/2

Não, isso não é um encontro. Tem 12 dividido por 3 dividido por 2.

Como forçar o fim com parênteses

A ordem de precedência pode ser enganado usando parênteses. Quanto à linguagem C está em causa, qualquer coisa que acontece dentro de parênteses é avaliado primeiro 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 a seguinte equação (de Exercício 1), de modo que a adição e 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 empregados em tempo integral ea tempo parcial antes de dividir pela 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.


Publicações relacionadas