Expressões em C ++

Variáveis ​​e constantes são úteis apenas se você pode usá-los para executar cálculos. O termo expressão

é um jargão C ++ para um cálculo. Você já viu a expressão mais simples:

int N- // declarationn = 1- // expressão

Programadores combinar variáveis, constantes e operadores para fazer expressões. A operador realizar alguma operação aritmética em seus argumentos. A maioria dos operadores recebem dois argumentos - estes são chamados operadores binários. Alguns operadores de um único argumento - estes são os operadores unários.

Todas as expressões retornam um valor e um tipo.

operadores binários

UMA operador binário é um operador que recebe dois argumentos. Se você pode dizer var1 var2 op, então op deve ser um operador binário. Os operadores binários mais comuns são as mesmas operações simples que você aprendeu na escola. Os operadores binários comuns aparecem na tabela.

Operadores matemáticos em ordem de precedência
PrecedênciaOperadorSignificado
1- (Unário)Devolve o negativo de seu argumento
2++ (Unário)Incremento
2-- (Unário)diminuição
3* (binário)Multiplicação
3/ (binário)Divisão
3% (binário)Modulo
4+ (binário)Adição
4- (binário)Subtração
5=, * =,% =, + =, - = (Especial)tipos de atribuição

O binário mais simples é o operador de atribuição observou o sinal de igual. O operador de atribuição diz, # 147-Take o valor à direita; lado e armazenar no local à esquerda; do lado do operador # 148.;

Multiplicação, divisão, adição, subtração, e módulo são os operadores utilizados para realizar operações aritméticas. Eles funcionam exatamente como os operadores aritméticos que você aprendeu na escola secundária, com as seguintes considerações especiais:

  • Multiplicação sempre deve ser expressamente declarada e nunca está implícito como é em álgebra. Considere o seguinte exemplo:

    int n = 2 // declarar uma variableint m = 2N- // isso gera um erro

    A expressão acima não atribui m o valor de 2 vezes n. Em vez disso, C ++ tenta interpretar 2n como um nome de variável. Desde nomes de variáveis ​​não pode começar com um dígito, ele gera um erro durante a etapa de construção.

    O que o programador quis dizer foi:

    int n = 2-int m = 2 * n- // este é OK
  • divisão inteira joga fora o resto. Assim, a seguinte:

    int n = 13/7 // atribui o valor de 1 para N

    Quatorze dividido por 7 é 2. Treze dividido por sete é 1.

  • O operador módulo devolve o resto da divisão (Você pode não se lembrar modulo):

    int n = 13% 7- // N conjuntos de seis

    Quatorze modulo sete é zero. Treze modulo sete é seis.

Desvendando expressões compostas

A única expressão pode incluir vários operadores:

int n = 5 + 100 + 32

Quando todos os operadores são os mesmos, C ++ avalia a expressão da esquerda para a direita:

5 + 100 + 32105 + 32137

Quando diferentes operadores são combinadas em uma única expressão, C ++ usa uma propriedade chamada precedência. Precedência é a ordem que os operadores são avaliados em uma expressão composta. Considere o seguinte exemplo:

int n = 5 * 100 + 32

O que vem primeiro, multiplicação ou adição? Ou é essa expressão simplesmente avaliados da esquerda para a direita? Consulte de volta à mesa, que lhe diz que a multiplicação tem uma precedência de 3, que é maior do que a precedência de adição que é de 4 (valores menores têm maior precedência). Assim, a multiplicação ocorre pela primeira vez:

5 * + 100 32500 + 32532

A ordem das operações é anulada pelo precedência dos operadores. Como você pode ver

int n = 32 + 5 * 100-

gera a mesma sequência:

32 + 5 + * 10032 500532

Mas e se você realmente quer 5 vezes a soma de 100 mais 32? Você pode substituir a precedência dos operadores envolvendo expressões a serem executadas pela primeira vez em parênteses, como se segue:

int n = 5 * (100 + 32) -

Agora, a adição é efectuada antes da multiplicação:

5 * (100 + 32) 5 * 132660

Você pode combinar parênteses para fazer expressões tão complicado como você gosta. C ++ sempre começa com os parênteses mais profundo-aninhados ele pode encontrar e trabalha o seu caminho para fora.

(3 + 2) * ((100/20) + (50/5)) (3 + 2) * (5 + 10) 5 * 1575

Você sempre pode dividir expressões complicadas, utilizando variáveis ​​intermediárias. O que se segue é mais seguro:

fator int = 3 + 2-int principal = (100/20) + (50/5) total de -int = factor * principal-

Atribuindo um nome para valores intermédios também permite ao programador explicar as partes de uma equação complexa - tornando-se mais fácil para o próximo programador a compreender.

menu