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
- Operatori aritmetici
- Operatori relazionali e logici
- Assegnazione e incremento
- Precedenza degli operatori