0Pricing
C Academy · Lezione

Includere math.h

Colleghi e utilizzi la libreria matematica.

Includere math.h è una lezione C Academy gratuita su CoddyKit. Questa è la lezione 1 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é esiste math.h

C mantiene ridotto il proprio linguaggio di base. Operazioni come radici quadrate, potenze e funzioni trigonometriche non sono integrate direttamente nel linguaggio.

Sono invece disponibili in un header della libreria standard chiamato math.h. Per usare queste funzioni è necessario includere l'header all'inizio del programma.

Includere l'header

Si aggiunga questa riga vicino all'inizio del file, insieme a stdio.h:

  • #include <stdio.h> per l'input/output
  • #include <math.h> per le funzioni matematiche

Le parentesi angolari indicano al compilatore di cercare nelle directory di sistema standard.

#include <stdio.h>
#include <math.h>

int main(void) {
    printf("math.h is ready\n");
    return 0;
}

La prima chiamata a math.h

Dopo aver incluso math.h, è possibile chiamare funzioni come sqrt (radice quadrata).

La maggior parte delle funzioni matematiche accetta e restituisce valori double, quindi i risultati vengono stampati con lo specificatore di formato %f.

#include <stdio.h>
#include <math.h>

int main(void) {
    double r = sqrt(16.0);
    printf("sqrt(16) = %f\n", r);
    return 0;
}

Collegare la libreria matematica

Su alcuni sistemi, in particolare Linux con gcc, le funzioni matematiche si trovano in un file di libreria separato.

Se si verifica un errore undefined reference, si aggiunga il flag -lm durante la compilazione:

  • gcc program.c -lm

-lm significa "collega la libreria matematica".

Tutto è double

Per impostazione predefinita, le funzioni di math.h lavorano con il tipo double. Accettano argomenti double e restituiscono risultati double.

È possibile passare anche un int. C lo converte automaticamente in double prima della chiamata.

#include <stdio.h>
#include <math.h>

int main(void) {
    int n = 25;
    double root = sqrt(n);
    printf("root = %f\n", root);
    return 0;
}

Stampare i risultati matematici

Si usi %f per stampare un double. È possibile controllare il numero di cifre decimali con %.2f (due cifre decimali).

In questo modo i valori decimali lunghi rimangono ordinati e leggibili.

#include <stdio.h>
#include <math.h>

int main(void) {
    double r = sqrt(2.0);
    printf("%f\n", r);
    printf("%.2f\n", r);
    return 0;
}

Costanti utili

Molti sistemi definiscono costanti utili in math.h, come M_PI per pi greco.

Queste non fanno parte dello standard rigoroso, ma sono molto comuni. Se M_PI non è disponibile, è possibile definirla personalmente.

#include <stdio.h>
#include <math.h>

int main(void) {
    printf("pi is about %.5f\n", M_PI);
    return 0;
}

Panoramica dei contenuti

L'header math.h mette a disposizione numerosi strumenti, raggruppati per scopo:

  • Potenze/radici: pow, sqrt
  • Funzioni trigonometriche: sin, cos, tan
  • Logaritmi: log, log10
  • Arrotondamento: floor, ceil, round

Esamineremo ogni gruppo nelle lezioni successive.

Combinare matematica e logica

I risultati di math.h sono normali numeri che è possibile confrontare e usare nelle istruzioni if.

Qui verifichiamo se un numero è un quadrato perfetto confrontando la sua radice con un numero intero.

#include <stdio.h>
#include <math.h>

int main(void) {
    double root = sqrt(49.0);
    if (root == 7.0) {
        printf("49 is a perfect square\n");
    }
    return 0;
}

Errori comuni

Presti attenzione a questi errori comuni dei principianti:

  • Dimenticare #include <math.h>
  • Dimenticare -lm durante il collegamento su Linux
  • Stampare un double con %d invece di %f

Ognuno di questi errori produce un messaggio poco chiaro o un output errato.

Mettere tutto insieme

Ecco un piccolo programma completo che usa insieme due funzioni matematiche.

Si notino gli include all'inizio e le variabili double che contengono i risultati.

#include <stdio.h>
#include <math.h>

int main(void) {
    double a = sqrt(81.0);
    double b = pow(2.0, 5.0);
    printf("sqrt=%.1f pow=%.1f\n", a, b);
    return 0;
}

Verifica rapida

Quale header è necessario includere per usare funzioni come sqrt e pow?

Riepilogo

Ha imparato che le funzioni matematiche si trovano in math.h, che si include con #include <math.h>.

Queste funzioni usano il tipo double, vengono stampate con %f e su Linux possono richiedere il flag di collegamento -lm. Prossimamente esamineremo in dettaglio potenze e radici.

Domande Frequenti

La lezione «Includere math.h» è gratuita?

Sì — il testo completo di «Includere math.h» è 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 «Includere math.h»?

Colleghi e utilizzi la libreria matematica. 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 1 di 4.

Quanto tempo richiede la lezione «Includere math.h»?

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. Includere math.h
  2. Potenze e radici
  3. Trigonometria e logaritmi
  4. Arrotondamenti e valori assoluti
← Torna a C Academy