Expressões em c ++

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

é gíria 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 levar dois argumentos - estes são chamados operadores binários. Alguns operadores de tomar um único argumento - estes são os operadores unários.

Todas as expressões retornar 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.

Video: Tutoriais de C/C++

Operadores matemáticos em ordem de precedência
PrecedênciaOperadorSignificado
1- (unária)Retorna o negativo de seu argumento
2++ (Unária)Incremento
2- (unária)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 observado pelo sinal de igual. O operador de atribuição diz: “Pegue o valor à direita; lado e uma loja no local à esquerda; do lado do operador”.

Multiplicação, divisão, adição, subtração, e módulo são os operadores usados ​​para realizar operações aritméticas. Eles funcionam exatamente como os operadores aritméticos que você aprendeu na escola primá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 um variableint m = 2N- // este gera um erro

    A expressão acima não atribui m o valor de 2 vezes n. Em vez disso, C ++ tenta interpretar doisn 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 compilação.

    O que o programador quis dizer foi:

    int n = 2-int m = 2 * N- // isto é OK
  • divisão inteira joga fora o restante. Deste modo, o seguinte:

    int n = 13/7 // atribui o valor de 1 a 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.

Revelando expressões compostas

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

Video: Programação em C - Aula 38 - Precedência de 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 numa única expressão, C ++ usa uma propriedade chamada precedência. Precedência é o fim dos operadores serem avaliados em uma expressão composto. 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? Remeter para a 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 em primeiro lugar:

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 o mesmo resultado:

32 + 5 * + 10032 500532

Mas e se você realmente quer 5 vezes a soma de 100 mais 32? É possível 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 é realizada 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 seguinte é mais seguro:

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

Atribuir um nome para valores intermediários também permite ao programador explicar as partes de uma equação complexa - o que torna mais fácil para a próxima programador para entender.


Publicações relacionadas