MATEMAATTISET-FUNKTIOT
math.h:sta saadaan pii:lle kätevästi likiarvo kirjoittamalla laskutoimitukseen M_PI.
Esimerkki.
Esimerkki.float ala, sade; ala = M_PI * sade * sade;
#include <stdio.h> #include <math.h> int main(void) { printf("math.h-tiedostosta saatava pii = %f",M_PI); getch(); return 0; }
NELIÖJUURI
Esimerkki.
#include <stdio.h> #include <math.h> int main(void) { double x , y=0, tulos; printf("Anna luku: "); scanf("%lf",&x); /*Neliöjuuri*/ tulos= sqrt(x); printf("\nLuvun neliojuuri = %f \n", tulos); getch(); return 0; }
POTENSSIT
Luku potenssiin x
xy, eli x potenssiin y: pow(x,y)Esim.
#include <stdio.h> #include <math.h> int main(void) { double x , y, tulos; printf("Anna luku: "); scanf("%lf",&x); printf("Anna eksponetti: "); scanf("%lf",&y); /*Potenssi*/ tulos= pow(x,y); printf("\n%.2lf potenssiin %.2lf = %lf \n", x, y, tulos); getch(); return 0; }
Neperin luvun potenssi
ey, eli Neperin luku e potenssiin y: exp(y)Esim.
#include <stdio.h> #include <math.h> int main(void) { double x , tulos; printf("Anna eksponetti: "); scanf("%lf",&x); /*Neperin luvun potenssi*/ tulos= exp(x); printf("\ne potenssiin %.2lf = %lf \n", x, tulos); getch(); return 0; }
LOGARITMIT
Luonnollinen logritmi
ln x, eli luonnollinen logaritmi : log(x)Jonkin luvun x luonnolinen logaritmi:
tulos= log(x);
Kymmenkantainen logritmi
ln x, eli lymmenenkantainen logaritmi : log(x)Jonkin luvun x luonnolinen logaritmi:
tulos= log10(x);
Esimerkki.
#include <stdio.h> #include <math.h> int main(void) { double x , tulos; printf("Anna luku: "); scanf("%lf",&x); /* Logaritmit */ tulos= log(x); printf("\n%.2lf luonnollinen logaritmi = %lf \n", x, tulos); tulos= log10(x); printf("%.2lf kymmenkantainen logaritmi = %lf \n", x, tulos); /* tarkistus */ x = tulos; tulos= pow(10,x); printf("\nTarkistus 10 potenssiin %lf = %lf \n", x, tulos); getch(); return 0; }
TRIGONOMETRISET FUNKTIOT
Radiaanit ja asteet
Trigonometrisissä funktioissa on hyvää muistaa C-kielen käsittelevän kulmia radiaaneina. Alla matemaattinen määritelmä radiaaneille.

Esimerkki (alla), ohjelma muuttaa annetun asteet radiaaneiksi sekä annetut radiaanit asteiksi.
#include <stdio.h> #include <math.h> int main(void) { double asteet, radiaani, radit; printf("(HUOM! 1 rad = 57,295577951 astetta)\n\n"); printf("Anna asteluku: "); scanf("%lf",&asteet); printf("Anna radiaani-luku: "); scanf("%lf",&radit); /* asteet-radiaaneiksi muunnin */ radiaani= asteet/(360/(2*M_PI)); printf("\n%.2lf astetta = %lf radiaania\n", asteet, radiaani); /* radiaanit-asteiksi muunnin */ asteet=radit*(360/(M_PI*2)); printf("\n%.2lf radiaania = %lf astetta \n", radit, asteet); getch(); return 0; }
SINI -FUNKTIOT
Kulman sini ja arkus-sini
Jotta C-kielellä kulman sini saadaan on ensin annettu kulma muutettava radiaaneiksi, edelleen arkussini laskussa on hyödynnettävä radiaani-muunnosta. Esimerkki (alla), ohjelma pyytää kulman jonka sini halutaan. Ohjelma näyttää annetun kulman sini sekä muuttaa saadun tuloksen takaisin asteluvuksi.#include <stdio.h> #include <math.h> int main(void) { double asteet, radiaani, tulos; printf("Kulman sini\n\n"); printf("Anna asteluku: "); scanf("%lf", &asteet); /*ensin asteet-radiaaneiksi*/ radiaani = asteet / (360 / ( 2*M_PI )); /*sen jälkeen sini radiaaneista*/ tulos = sin(radiaani); printf("\nKulman %.2lf sini = %lf \n", asteet, tulos); /*saatujen asteiden arkusini*/ tulos = asin(tulos); /*ja muunnos radiaani-säännöllä asteiksi*/ asteet = tulos * (360 / ( M_PI*2 )); printf("\narcus sini = %lf \n", asteet); getch(); return 0; }
Hyperbolinen sini:
tulos= sinh(x);
KOSINI -FUNKTIOT
kosini-funktio toimii ohjelmallisesti samalla periaatteella kuin yllä olevassa esimerkki-ohjelmassa sini.Hyperbolinen cosini:tulos1 = cos(x); /* x = kulma radiaaneina */ tulos2 = acos(tulos1); /* tulos2 muutettava asteiksi */
tulos= cosh(x);
TANGENTTI -FUNKTIOT
tangentti-funktion toiminnan ohjelmointi C-kielellä tarvitsee samat muunnokset kuin sini ja kosini, katso aiempi esimerkki.Hyperbolinen tangentti:tulos1 = tan(x); /* x = kulma radiaaneina */ tulos2 = atan(tulos1); /*tulos2 muutettava asteiksi */
tulos= tanh(x);
Lisää trigonometriaan liittyviä funktioita on löydettävissä hakukoneilla hakusanalla math.h.
MUITA MATEMATIIKKAAN LIITTYVIÄ FUNKTIOITA
REAALILUVUN ITSEISARVO
Reaaliluvun itseisarvo on sen etäisyys lukusuoran nollasta riippumatta onko luku positiivinen tai negatiivinen. Itseisarvofunktiota fabs käytetään vain kaksoistarkkuuden liukuluvuille.double luku, tulos; tulos = fabs(luku);
JAKOJÄÄNNÖS LIUKULUKUNA
Liukulukujen jakojäännöksen selvittämiseen käytetään fmod() -funktiota.double luku1, luku2, tulos; tulos = fmod(luku1, luku2);
Esimerkissä (alla), aluksi pyydetään kaksi lukua (esim. -23.56 ja 0.789),a selvitetään annettujen lukujen itseisarvot fabs()-funktion avulla ja näytetään ne. Seuraavaksi pyydetään kaksi lukua (esim. 10 ja 3), selvitetään niiden jakojäännös fmod()-funktiolla ja näytetään se.
#include <stdio.h> #include <math.h> int main(void) { double x, y, tulos; printf("Kahden annetun luvun itseisarvot"); printf("\n1.luku: "); scanf("%lf", &x); printf("2.luku: "); scanf("%lf", &y); printf("%lf\n",fabs(x)); printf("%lf\n",fabs(y)); printf("\nKahden annetun luvun jakojaannos liukulukuna"); printf("\n3.luku: "); scanf("%lf", &x); printf("4.luku: "); scanf("%lf", &y); tulos=fmod(x,y); printf("%lf\n",tulos); getch(); return 0; }
LUVUN PYÖRISTÄMINEN ALAS JA YLÖS
Funktiolla ceil()voidaan luku pyöristää ylöspäin seuraavaan kokonaislukuun ja funktiolla floor() alaspäin lähimpään kokonaislukuun.Esimerkki. Ohjelmaan annetaan luvut desimaalimuodossa esim. 2.57 ja 123.786. Ohjelma pyöristää annetut luvut.
#include <stdio.h> #include <math.h> int main(void) { double x, y, tulos; printf("Kahden annetun luvun pyoristaminen"); printf("\n1.luku: "); scanf("%lf", &x); printf("2.luku: "); scanf("%lf", &y); printf("ylos %lf\n", ceil(x)); printf("alas %lf\n", floor(y)); getch(); return 0; }