Precedencia de operadores
Orden de evaluación
Precedencia de operadores es una lección gratuita de C Academy en CoddyKit. Esta es la lección 4 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de C Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de C Academy incluye 4 lecciones en total.
Por qué importa la precedencia
La precedencia determina qué operador se ejecuta primero en una expresión con varios operadores. Sigue el modelo de las matemáticas habituales: la multiplicación antes que la suma.
#include <stdio.h>
int main(void) {
printf("%d\n", 2 + 3 * 4);
return 0;
}Los paréntesis prevalecen
Los paréntesis fuerzan el orden de evaluación. Utilícelos para dejar clara la intención y reemplazar el comportamiento predeterminado.
#include <stdio.h>
int main(void) {
printf("%d\n", (2 + 3) * 4);
return 0;
}Precedencia aritmética
Entre los operadores aritméticos, * / % tienen mayor precedencia que + -. Los de mayor precedencia se ejecutan primero.
#include <stdio.h>
int main(void) {
int r = 10 - 2 * 3;
printf("r = %d\n", r);
return 0;
}Asociatividad
Cuando varios operadores tienen la misma precedencia, la asociatividad determina la dirección. La mayoría de las operaciones aritméticas se asocian de izquierda a derecha.
#include <stdio.h>
int main(void) {
int r = 20 / 4 / 2;
printf("r = %d\n", r);
return 0;
}Asociatividad a la derecha de la asignación
La asignación se agrupa de derecha a izquierda. Por eso a = b = 5 asigna primero 5 a b y después a.
#include <stdio.h>
int main(void) {
int a, b;
a = b = 5;
printf("a = %d, b = %d\n", a, b);
return 0;
}Comparaciones frente a aritmética
La aritmética tiene mayor precedencia que los operadores relacionales, por lo que a + b > c calcula primero a + b.
#include <stdio.h>
int main(void) {
int a = 2, b = 3, c = 4;
printf("%d\n", a + b > c);
return 0;
}Relacionales frente a lógicos
Los operadores relacionales tienen mayor precedencia que &&, que a su vez tiene mayor precedencia que ||.
#include <stdio.h>
int main(void) {
int x = 5;
if (x > 0 && x < 10)
printf("single digit positive\n");
return 0;
}Unarios antes que binarios
Los operadores unarios, como ! y el - unario, tienen una precedencia muy alta y se aplican antes que los operadores binarios.
#include <stdio.h>
int main(void) {
int x = 0;
printf("%d\n", !x + 1);
return 0;
}Una expresión complicada
Sin paréntesis, esta expresión combina varios niveles de precedencia. Analícela con cuidado.
#include <stdio.h>
int main(void) {
int r = 2 + 3 * 4 > 10 && 1;
printf("r = %d\n", r);
return 0;
}En caso de duda, use paréntesis
Un buen código en C usa paréntesis con libertad. No tienen ningún coste en tiempo de ejecución y evitan errores sutiles.
#include <stdio.h>
int main(void) {
int a = 1, b = 2, c = 3;
if ((a < b) && (b < c))
printf("ascending\n");
return 0;
}La precedencia en la práctica
Aquí, la precedencia nos permite escribir una fórmula clara sin paréntesis adicionales.
#include <stdio.h>
int main(void) {
int base = 10, rate = 2, hours = 3;
int pay = base + rate * hours;
printf("pay = %d\n", pay);
return 0;
}Comprobación rápida
Compruebe su comprensión de la precedencia de los operadores.
Repaso: precedencia de los operadores
Ha aprendido cómo ordena C los operadores.
* / %antes que+ -- Aritmética antes que relacionales, y relacionales antes que lógicos
- La mayoría de los operadores son asociativos por la izquierda; la asignación es asociativa por la derecha
- Los operadores unarios tienen una precedencia alta
- Los paréntesis hacen explícita la intención
Preguntas frecuentes
¿La lección «Precedencia de operadores» es gratis?
Sí — el texto completo de «Precedencia de operadores» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de C Academy, actualiza a CoddyKit PRO. El curso de C Academy incluye 4 lecciones en total.
¿Qué aprenderé en «Precedencia de operadores»?
Orden de evaluación Practicas C Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar C Academy?
No se requiere experiencia previa. C Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 4 de 4.
¿Cuánto tiempo toma la lección «Precedencia de operadores»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de C Academy?
Sí. Cada lección de C Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Operadores aritméticos
- Operadores relacionales y lógicos
- Asignación e incremento
- Precedencia de operadores