Hola y bienvenido a esta elección.
A continuación vamos a ver la precedencia de operadores en el lenguaje C.
Están listos?
Vamos.
Bien.
Básicamente la presencia de operadores nos va a permitir establecer la prioridad en que se van a aplicar
las operaciones.
Cuando tenemos una expresión, por ejemplo, vamos a analizar una expresión matemática, pero básicamente
cada operador tiene una prioridad distinta.
De allí el tema de precedencia de operadores.
Por ejemplo, si encontramos los paréntesis y corchetes, esos tienen la mayor prioridad.
Así que aunque encontráramos una suma, una resta, una multiplicación, etcétera, los paréntesis van
a tomar la máxima prioridad y entonces se van a aplicar primero.
Primero se tiene que resolver esta expresión y posteriormente los demás operadores.
Posteriormente, en la prioridad tenemos los operadores usuarios, ya que los operadores que solamente
trabajan con un operando, entonces también tienen una mayor prioridad que los demás operadores.
Posteriormente tenemos los operadores aritméticos de multiplicación, división y el operador de módulo,
de tal manera que aunque tenemos otros operadores aritméticos como la suma o la resta, si en una expresión
tenemos primero multiplicación, división o el operador de módulo, entonces toma prioridad estos operadores
de multiplicación división o el operador de módulo y ya posteriormente se aplicaría la suma o la resta.
Ahora, si se encuentra, por ejemplo la multiplicación y la división en la misma expresión, toma prioridad
el operador que se encuentre de izquierda a derecha.
A continuación vamos a ver un ejemplo para poner todo esto en práctica.
Posteriormente, después de los operadores aritméticos, tenemos los operadores relacionales como los
que ya estudiamos, los operadores de menor, menor o igual, mayor o mayor o igual.
Posteriormente, los operadores de igualdad, los operadores de igual a igual o de diferente.
Posteriormente tenemos los operadores lógicos de AND y OR.
Recordemos que el operador de NOT es un operador unario.
Por lo tanto este tiene mayor prioridad que los otros operadores lógicos.
Y por último, tenemos los operadores de asignación.
Así que esto va a ser lo último que se va a evaluar.
Primero se evalúa todo en la expresión y ya posteriormente el resultado de evaluar la expresión se asigna,
por ejemplo, a una variable.
Por ello es que los operadores de asignación tienen la menor prioridad.
Bien, vamos a ver un ejemplo.
Por ejemplo, hemos comentado que una expresión se revisa de izquierda a derecha, así que lo que se
encuentre primero va a tener mayor prioridad según esta precedencia de operadores.
Vamos a definir una variable llamada A y vamos a tener la siguiente expresión 12 entre tres más dos
por tres -1.
En este caso, simplemente combinando algunos operadores precisamente para que podamos aplicar esta
precedencia de operadores.
En este caso vamos a analizar nuestra expresión y analizamos de izquierda a derecha.
Lo primero que encontramos es una división.
Posteriormente una suma.
Posteriormente una multiplicación y finalmente una resta.
Así que según la tabla de precedencia de operadores que hemos comentado, en primer lugar, toma prioridad
la multiplicación, la división y el operador de módulo, y ya posteriormente, después de haber evaluado
esa expresión, entonces se tendría que evaluar la suma y la resta y así continuaríamos con los demás
operadores.
Esto quiere decir que si evaluamos de izquierda a derecha, primero se tiene que realizar la división
y posteriormente la multiplicación.
Y como hemos comentado, aunque estos operadores tienen exactamente la misma prioridad, el operador
que se evalúa primero es el que se encuentra de izquierda a derecha.
Así que en este caso, primero tenemos que evaluar la división y el resultado de la división.
Vamos a aplicar posteriormente esta multiplicación y el resultado de esta división y esta multiplicación
vamos a aplicar la suma.
De igual manera, aquí tenemos primero una suma y posteriormente una resta.
Se aplica primero lo que tengamos de izquierda a derecha y finalmente el resultado de esta suma le vamos
a aplicar la resta.
Y con esto prácticamente ya estaríamos terminando de evaluar nuestra expresión.
Bien, entonces vamos a comenzar 12 entre tres.
Aquí obtendríamos el valor de cuatro.
Posteriormente, si evaluamos de izquierda a derecha, la siguiente expresión a evaluar sería esta multiplicación
dos por tres tendríamos el valor de seis.
Posteriormente esto nos genera tenemos pendiente la suma.
Por lo tanto aquí tenemos que aplicar una suma y esto nos va a generar el valor de diez.
Y por último, queda pendiente la resta, así que tendríamos diez -1 y entonces el resultado final va
a ser el valor de nueve.
Obviamente, este análisis es el que más nos conviene hacer para entender exactamente cómo funciona
la precedencia de operadores, ya que simplemente mandar a imprimir la variable A realmente no nos ayuda
para entender cómo funciona la precedencia de operadores, pero de esta forma ya sabemos cómo se van
agrupando y aplicando la precedencia de operadores.
Bien, vamos a comprobarlo.
El resultado final tendría que ser igual a nueve, así que vamos a mandar a imprimir el resultado.
De haber evaluado esa expresión mandamos a imprimir el valor de la variable A vamos a ejecutar y entonces
tenemos exactamente el valor de nueve, tal como lo hemos comentado.
Ahora podemos romper la precedencia de operadores si utilizamos, por ejemplo a.
Alguno de los operadores que tenga mayor precedencia.
Por ejemplo.
En este caso.
Paréntesis.
Si queremos que se realice primero la suma, podríamos poner paréntesis y entonces esta es la primera
operación que se tiene que ejecutar.
Por lo tanto, aquí obtendríamos primero el valor de cinco.
Posteriormente, analizando de nueva cuenta de izquierda a derecha, obtenemos una división.
Así aquí tendríamos 12 entre cinco.
Y posteriormente la multiplicación.
El resultado de esto por tres y finalmente -1.
Y de igual manera, si no tenemos más paréntesis, entonces tendríamos que aplicar primero la división
12 entre cinco.
Este resultado tendríamos que multiplicarlo por tres y finalmente este resultado -1.
Vamos a ejecutarlo para ver cómo se modifica el resultado final.
Y podemos ver entonces que el resultado final es el valor de cinco.
Si lo analizamos, como hemos comentado aquí, tenemos en primer lugar el valor de cinco.
Aquí tenemos 12 entre cinco y aunque este resultado sería 2.4, debido a que esta variable es de tipo
entero, solamente se tomaría la parte entera.
Así aquí tendríamos dos.
Posteriormente tenemos la multiplicación.
Sería por tres y ya solamente queda pendiente la resta.
Así aquí tendríamos dos por tres, tendríamos el valor de seis.
Y por último le aplicamos la resta seis -1.
Entonces regresaría el valor de cinco, tal como lo estamos visualizando.
Pero podemos observar que simplemente con aplicar paréntesis, entonces ya resultado cambia radicalmente.
Todo esto debido a la precedencia de operadores.
Bien, vamos a dejarle también esta expresión entre comentarios para que tengan también presente según
lo que resolvimos.
Pero en este caso voy a quitar ya los paréntesis.
Si nosotros sabemos cómo aplican la precedencia de operadores, entonces no vamos a tener problema para
evaluar y entender ese tipo de expresiones, ya sea que contengan paréntesis o no.
Bien, así que básicamente eso es el tema de presencia de operadores.
Pónganlo en práctica y nos vemos en el siguiente video.
Saludos.