Expresiones en c ++

Variables y constantes son útiles sólo si se puede utilizar para realizar cálculos. El termino expresión

es jerga C ++ para un cálculo. Ya has visto la expresión más simple:

expresión int n- // declarationn = 1- //

Programadores combinan variables, constantes y operadores para hacer expresiones. Un operador realiza alguna operación aritmética en sus argumentos. La mayoría de los operadores toman dos argumentos - estos son llamados operadores binarios. A pocos operadores toman un solo argumento - estos son los operadores unarios.

Todas las expresiones devuelven un valor y un tipo.

Operadores binarios

LA operador binario es un operador que toma dos argumentos. Si usted puede decir var1 var2 op, después op debe ser un operador binario. Los operadores binarios más comunes son las mismas operaciones simples que usted aprendió en la escuela primaria. Los operadores binarios comunes aparecen en la tabla.

Operadores matemáticos en orden de precedencia
PrecedenciaOperadorSignificado
1- (unario)Devuelve el negativo de su argumento
2++ (unario)Incremento
2-- (unario)Disminuir
3* (Binario)Multiplicación
3/ (Binario)División
3% (Binario)Modulo
4+ (binario)Adición
4- (binario)Resta
5=, * =,% =, + =, - = (Especial)Tipos de asignación

El binario más simple es el operador de asignación señalado del signo igual. El operador de asignación dice, " Tome el valor de la derecha; lado y almacenar a la ubicación de la izquierda;. Lado del operador "

Multiplicación, división, suma, resta, y el módulo son los operadores que se utilizan para realizar operaciones aritméticas. Funcionan igual que los operadores aritméticos que aprendió en la escuela primaria, con las siguientes consideraciones especiales:

  • Multiplicación siempre debe constar expresamente y nunca se da a entender, ya que es en el álgebra. Considere el siguiente ejemplo:

    int n = 2 // Declarar un variableint m = 2N // esto genera un error

    La expresión anterior no asigna m el valor de 2 veces n. En lugar de ello, C ++ intenta interpretar 2n como un nombre de variable. Desde los nombres de variables no pueden comenzar con un dígito, se genera un error durante la etapa de construcción.

    Lo que el programador quiso decir fue:

    int n = 2-int m = 2 * n // esto está bien
  • La división entera tira a la basura el resto. Por lo tanto, la siguiente:

    int n = 13/7 // asigna el valor 1 a n

    Catorce dividido por 7 es 2. Trece dividido por siete es 1.

  • El operador módulo devuelve el resto después de la división (es posible que no recuerde módulo):

    int n = 13% 7- // establece n a 6

    Catorce de módulo siete es cero. Trece módulo siete es seis.

Desentrañar expresiones compuestas

Una sola expresión puede incluir múltiples operadores:

int n = 5 + 100 + 32-

Cuando todos los operadores son los mismos, C ++ evalúa la expresión de izquierda a derecha:

5 + 100 + 32.105 + 32.137

Cuando diferentes operadores se combinan en una sola expresión, C ++ utiliza una propiedad llamada precedencia. Precedencia es el orden en que los operadores se evalúan en una expresión compuesta. Considere el siguiente ejemplo:

int n = 5 * 100 + 32-

¿Qué viene primero, multiplicación o adición? ¿O es esta expresión simplemente evalúa de izquierda a derecha? Consulte de nuevo a la mesa, que te dice que la multiplicación tiene una precedencia de 3, que es más alta que la precedencia de adición, que es de 4 (los valores más pequeños tienen mayor precedencia). De este modo se produce la multiplicación primero:

5 * 100 + 32.500 + 32.532

El orden de las operaciones sea revocada por la precedencia de los operadores. Como puedes ver

int n = 32 + 5 * 100-

genera el mismo resultado:

32 + 5 * 10 032 500 532 +

Pero lo que si realmente quieres 5 veces la suma de 100 más 32? Puede anular la precedencia de los operadores envolviendo expresiones que desea que se realice primero entre paréntesis, de la siguiente manera:

int n = 5 * (100 + 32) -

Ahora la adición se realiza antes de la multiplicación:

5 * (100 + 32) * 5 132 660

Puede combinar paréntesis para hacer expresiones tan complicado como quieras. C ++ siempre comienza con los paréntesis más profundo anidados puede encontrar y obras su salida.

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

Siempre se puede dividir expresiones complicadas utilizando variables intermedias. El siguiente es más seguro:

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

Asignar un nombre a los valores intermedios también permite al programador para explicar las partes de una ecuación compleja - por lo que es más fácil para la próxima programador de entender.