0Pricing
C Academy · Lección

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

  1. Operadores aritméticos
  2. Operadores relacionales y lógicos
  3. Asignación e incremento
  4. Precedencia de operadores
← Volver a C Academy