Cómo utilizar el orden correcto para funciones matemáticas de programación C

Antes de huir de la tiranía de lo inevitable de Matemáticas, lo que necesita saber sobre el orden de prioridad para la programación C. No es una orden religiosa, y no tiene nada que ver con adivinar el futuro. Se trata de asegurar que las matemáticas ecuaciones que código en C representan lo que se propone.

¿Cómo conseguir el orden correcto

Considere el siguiente rompecabezas. ¿Puedes adivinar el valor de la variable responder?

respuesta = 5 + 4 * 3

Como ser humano, leyendo el rompecabezas de izquierda a derecha, lo que probablemente responde 27: 5 + 4 es 9 veces 3 es 27. Eso es correcto. El equipo, sin embargo, respondería 17.

El equipo no está mal - sólo asume que la multiplicación es más importante que la suma. Por lo tanto, esa parte de la ecuación se calcula primero. Para el equipo, la orden real de los valores y de los operadores es menos importante que la que se utilizan los operadores. Para decirlo de otra manera, la multiplicación tiene precedencia sobre la suma.

Usted puede recordar el orden básico de la precedencia de los operadores matemáticos básicos como esto:

Primero: Multiplicación, DivisiónSegundo: suma, resta

La tecla de acceso inteligente para el orden básico de precedencia es, " Mi Querida tía Sally ". Para más detalles sobre el orden de precedencia para todos los operadores del lenguaje C, consulte el Apéndice G.

Ejercicio 1: Escriba un programa que evalúa la siguiente ecuación, que muestra el resultado:

20 - 5 * 2 + 42/6

Vea si puede adivinar la salida antes de que el programa se ejecuta.

Ejercicio 2: Modificar el código de Ejercicio 1 de modo que el programa evalúa la ecuación

12 / 3/2

No, eso no es una fecha. Está 12 dividido por 3 dividido por 2.

Cómo forzar orden con paréntesis

El orden de precedencia puede ser engañado por el uso de paréntesis. En lo que se refiere al lenguaje C, que pase nada entre paréntesis se evalúa por primera vez en cualquier ecuación. Así que incluso cuando se le olvida el orden de precedencia, puede forzarlo abrazando partes de una ecuación con paréntesis.

Matemáticas por delante!

Ejercicio 3: Código la siguiente ecuación para que el resultado es igual a 14, no 2:

12 - 5 * 2

Ejercicio 4: Código de la siguiente ecuación (de Ejercicio 1) de modo que la suma y la resta tienen lugar antes de la multiplicación y la división. Si lo haces correctamente, el resultado es de 110:

20 - 5 * 2 + 42/6
  • En el futuro, el código que escriba puede tratar más con las variables que con valores inmediatos, por lo que debe entender la ecuación y lo que se está evaluando. Por ejemplo, si es necesario agregar el número de empleados a tiempo completo ya tiempo parcial antes de dividir por el total de la nómina, ponga los dos primeros valores entre paréntesis.

  • Más allá de la orden de precedencia, paréntesis añadir un nivel de legibilidad del código, especialmente en las ecuaciones de largo. Incluso cuando paréntesis no son necesarios, considerar la adición de ellos si el resultado es un código más legible.




» » » » Cómo utilizar el orden correcto para funciones matemáticas de programación C