Precedencia y asociatividad de los operadores aritméticos en lenguaje C.

En este artículo, vamos a aprender acerca de la Precedencia y asociatividad de los operadores aritméticos en lenguaje C .

While , escribir programas en C, que en su mayoría realizan cálculos y operaciones aritméticas a través de los operadores aritméticos C. Incluso el programa de adición de base en C implica el uso de operador de suma aritmética `+` para llevar a cabo la adición de dos números enteros o valor float.

Por ejemplo, el asterisco * indica la multiplicación y la barra diagonal ( / ) indica el operador de división. A diferencia de álgebra, en C, para multiplicar un veces b , la multiplicación debe ser denotado de manera explícita usando el operador * , como en un b * . Los operadores aritméticos son todos los operadores binarios. Por ejemplo, la expresión 3 + 7 contiene el operador binario + y los operandos 3 y 7, o resta operador el segundo operando de la primera.

C también tiene especial % módulo operador , que devuelve el resto de dos números. Se puede utilizar inteligentemente en programas tales como la búsqueda de un número si es par o impar.

Pero, cuando los operadores se utilizan en una expresión compuesta, a continuación, los valores podrían no ser los esperados. Considere este ejemplo,

a = 10 + 2 * 5 - 6 / 2

Si cree que su 27 , entonces usted está engañado por C. Todas las operaciones matemáticas forman una jerarquía basada en la prioridad que se muestra a continuación. En el cálculo por encima de las partes de multiplicación y división serán evaluados primero y luego las partes de suma y resta. Esto da una respuesta de 17 .

De acuerdo con esta tabla , de izquierda a derecha, el operador con mayor precedencia se evalúan primero. Si dos operadores tienen precedencia misma, a continuación, el que ocurra primero de izquierda a derecha conseguirá evaluado primero. Los paréntesis tienen prioridad más alta, lo que significa que las expresiones dentro de ellos se evalúan primero. Los paréntesis pueden contener paréntesis sub y el Estado sigue igual para el operador nunca .

Aquí hay algunos ejemplos para ayudarle mejor,

a = 16 + (2 * 5) - (6 / 2) // Answer: 23
a = (10 + 2) * (8 - 6) / 2 // Answer: 12
a = 15 + (4 * 12 / 6) - 3 // Answer: 20

Esperanza se obtiene una idea clara de lo que es precedencia aritmética en C ? Comparte tu opinión en los comentarios a continuación.


Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *