Operazioni matematiche
Oltre agli operatori di base, la libreria standard di C mette a disposizione altre operazioni matematiche quali le radici quadrate (sqrt), gli elevamenti a potenza (pow), i seni (sin) e i coseni (cos), oltre alle principali costanti matematiche. Per accedere a queste funzioni, dobbiamo importare l’header <math.h>. Vediamo qualche esempio:
#include<stdio.h>
#include<math.h>
int main() {
printf("sqrt(2)=%f\n", sqrt(2)); // radice quadrata di due
printf("cbrt(2)=%f\n", cbrt(3)); // radice cubica di tre
printf("pow(2,3)=%f\n", pow(2,3)); // 2 elevato 3
printf("sin(M_PI)=%f\n", sin(M_PI)); // seno di Pi greca
printf("cos(2*M_PI)=%f\n", cos(2*M_PI)); // coseno di 2*Pi greca
}
sqrt(2)=1.414214
cbrt(2)=1.442250
pow(2,3)=8.000000
sin(M_PI)=0.000000
cos(2*M_PI)=1.000000
Altre operazioni matematiche utili sono round, ceil e floor. Tutte e tre ci permettono di convertire un numero in virgola mobile in un numero intero. Le tre funzioni effettuano però delle conversioni in maniera differente:
roundarrotonda il numero in virgola mobile come siamo abituati a fare (es. $2.3$ -> $3$, $2.8$ -> $3$);floorrestituisce il numero intero più grande che sia inferiore al numero in input (es. $2.3$ -> $2$, $2.8$ -> $2$);ceilrestituisce il numero intero più piccolo che sia superiore al numero in input (es. $2.3$ -> $3$, $2.8$ -> $3$);
Vediamo degli esempi:
#include<stdio.h>
#include<math.h>
int main() {
printf("round(2.2)=%f\n", round(2.2));
printf("round(2.6)=%f\n", round(2.6));
printf("floor(2.2)=%f\n", floor(2.2));
printf("floor(2.6)=%f\n", floor(2.6));
printf("ceil(2.2)=%f\n", ceil(2.2));
printf("ceil(2.6)=%f\n", ceil(2.6));
}
round(2.2)=2.000000
round(2.6)=3.000000
floor(2.2)=2.000000
floor(2.6)=2.000000
ceil(2.2)=3.000000
ceil(2.6)=3.000000
Si noti che il risultato di queste operazioni resta comunque un double.
![]() | Domanda Quale valore della variabile |
Possiamo trovare maggiori informazioni su math qui: https://devdocs.io/c/numeric/math.
Esercizi
![]() | Esercizio Si scriva un programma che:
|
![]() | Esercizio Si scriva un programma che:
|

