0Pricing
C Academy · Lezione

Precedenza degli operatori

Ordine di valutazione

Precedenza degli operatori è una lezione C Academy gratuita su CoddyKit. Questa è la lezione 4 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento C Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso C Academy include 4 lezioni in totale.

Perché la precedenza è importante

La precedenza stabilisce quale operatore viene eseguito per primo in un'espressione con più operatori. Rispecchia la matematica ordinaria: la moltiplicazione viene prima dell'addizione.

#include <stdio.h>
int main(void) {
    printf("%d\n", 2 + 3 * 4);
    return 0;
}

Le parentesi impongono l'ordine

Le parentesi impongono l'ordine di valutazione. Le utilizzi per rendere chiaro l'intento e sovrascrivere l'ordine predefinito.

#include <stdio.h>
int main(void) {
    printf("%d\n", (2 + 3) * 4);
    return 0;
}

Precedenza degli operatori aritmetici

Tra gli operatori aritmetici, * / % hanno una precedenza maggiore di + -. Gli operatori con precedenza maggiore vengono valutati per primi.

#include <stdio.h>
int main(void) {
    int r = 10 - 2 * 3;
    printf("r = %d\n", r);
    return 0;
}

Associatività

Quando gli operatori hanno la stessa precedenza, è l’associatività a stabilire la direzione. La maggior parte delle operazioni aritmetiche viene valutata da sinistra a destra.

#include <stdio.h>
int main(void) {
    int r = 20 / 4 / 2;
    printf("r = %d\n", r);
    return 0;
}

Associatività a destra dell’assegnazione

L’assegnazione si raggruppa da destra a sinistra. Per questo a = b = 5 assegna prima 5 a b e poi ad a.

#include <stdio.h>
int main(void) {
    int a, b;
    a = b = 5;
    printf("a = %d, b = %d\n", a, b);
    return 0;
}

Confronti e aritmetica

L’aritmetica ha una precedenza maggiore rispetto agli operatori relazionali, quindi a + b > c calcola prima a + b.

#include <stdio.h>
int main(void) {
    int a = 2, b = 3, c = 4;
    printf("%d\n", a + b > c);
    return 0;
}

Relazionali e logici

Gli operatori relazionali hanno una precedenza maggiore di &&, che a sua volta ha una precedenza maggiore di ||.

#include <stdio.h>
int main(void) {
    int x = 5;
    if (x > 0 && x < 10)
        printf("single digit positive\n");
    return 0;
}

Gli unari prima dei binari

Gli operatori unari come ! e - unario hanno una precedenza molto alta e vengono applicati prima degli operatori binari.

#include <stdio.h>
int main(void) {
    int x = 0;
    printf("%d\n", !x + 1);
    return 0;
}

Un’espressione complessa

Senza parentesi, questa espressione combina diversi livelli di precedenza. La analizzi con attenzione.

#include <stdio.h>
int main(void) {
    int r = 2 + 3 * 4 > 10 && 1;
    printf("r = %d\n", r);
    return 0;
}

Nel dubbio, usi le parentesi

Un buon codice C usa liberamente le parentesi. Non hanno alcun costo durante l’esecuzione e prevengono bug difficili da individuare.

#include <stdio.h>
int main(void) {
    int a = 1, b = 2, c = 3;
    if ((a < b) && (b < c))
        printf("ascending\n");
    return 0;
}

La precedenza nella pratica

In questo caso la precedenza consente di scrivere una formula chiara senza parentesi aggiuntive.

#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;
}

Verifica rapida

Verifichi la Sua comprensione della precedenza degli operatori.

Riepilogo: precedenza degli operatori

Ha imparato come C ordina gli operatori.

  • * / % prima di + -
  • Aritmetica prima dei relazionali, prima dei logici
  • La maggior parte degli operatori è associativa a sinistra, mentre l’assegnazione è associativa a destra
  • Gli operatori unari hanno una precedenza elevata
  • Le parentesi rendono esplicita l’intenzione

Domande Frequenti

La lezione «Precedenza degli operatori» è gratuita?

Sì — il testo completo di «Precedenza degli operatori» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso C Academy, passa a CoddyKit PRO. Il corso C Academy include 4 lezioni in totale.

Cosa imparerò in «Precedenza degli operatori»?

Ordine di valutazione Eserciti C Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare C Academy?

Non è richiesta alcuna esperienza precedente. C Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 4 di 4.

Quanto tempo richiede la lezione «Precedenza degli operatori»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione C Academy?

Sì. Ogni lezione C Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. Operatori aritmetici
  2. Operatori relazionali e logici
  3. Assegnazione e incremento
  4. Precedenza degli operatori
← Torna a C Academy