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.
Conteúdo
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.