C’de Math.h Kütüphanesi ve Fonksiyonları

C’de klasik matematiksel işlemleri gerçekleştirmek için oluşturulan kütüphaneye math.h kütüphanesi adı verilir. Tıpkı stido.h, stdlib.h kütüphanelerinde olduğu gibi bu kütüphaneyi de programa dahil etmedikçe belli başlı fonksiyonları kullanamayız. Genel kullanım şu şekildedir:

BirinciDegisken_adi=fonksiyon_adi(IkinciDegisken_adi)

Fark ettiğiniz gibi fonksiyonda işlem gören değişkeni “IkinciDegisken_adi” ile tanımladık. Bu değişken, verdiğimiz fonksiyona göre işlem görerek yeni değeri “BirinciDegisken_adi” kısmına atıyor. Fonksiyonları verirken anlatacağımız örneklerle daha iyi anlayabilirsiniz; FABS() Fonksiyonu Matematikte ki mutlak değer işleminin karşılığı olan bu fonksiyon, içerisinde ki değer negatif ise pozitife döndürür. Pozitif olan değerler ise pozitif olarak kalır. Yalnız bu fonksiyonda ufak bir nokta var, değişken tipinin double olması gerekmektedir. Aksi halde çalışmaz.

#include<stdio.h>
#include<math.h>
int main()
{
double a;
printf("Mutlak deger icin bir sayi giriniz : ");
scanf("%lf", &a);
printf("Mutlak deger: %f", fabs(a));
getchar();
return 0;
}

FLOOR() ve CEIL () Fonksiyonları Ceil ve floor fonksiyonları yuvarlama fonksiyonlarıdır.  Ondalık sayıları ceil () üste, floor() ise alta yuvarlar. Yalnız burada da değişken tipi double olmalıdır.

#include<stdio.h>
#include<math.h>
int main () {
double x; printf("Bir ondalık x degeri giriniz : ");
scanf("%lf", &x);
printf("Floor icin x: %f\n", floor(x));
printf("Ceil icin x: %f", ceil(x));
return 0;
}

 

SIN() – COS() – TAN  () Fonksiyonu

Şimdi ise matematikte bulunan sinüs, kosinüs ve tanjant işlemlerinin C’de ki işleyişlerini göreceğiz. Bu üç fonksiyon, C’de parametre olarak kendisine radyanı temel alır. Eğer derece olarak işlem yapılacaksa;

radyan = (3.141593/180.0)*derece;

#include <stdio.h>
#include <math.h>
main()
{
double x;
x = 45.0;
x *= 3.141593 / 180.0;
printf("45 derecenin sinüsü : %f.\n", sin(x));
printf("45 derecenin kosinüsü : %f.\n", cos(x));
printf("45 derecenin tanjantı : %f.\n", tan(x));
return 0;
}

EXP () Fonksiyonu

Matematikte ki e sayısının üssünü almaya yarar.

#include<stdio.h>
#include<mat.h>
int main()
{
double x;
int y;
printf("Bir sayi giriniz: ");
scanf("%d", &x);
x=exp(y)
printf("e uzeri %d = %.2f" x,y);
return 0;
}

 

SQRT() Fonksiyonu

Bu fonksiyon ile karekök alırız. Yalnız burada ufak bir nokta var. Karekök alırken negatif bir sayı girmememiz gerekiyor.

#include<stdio.h>
#include<math.h>
int main()
{
int x,y;
printf("Bir sayi giriniz: \n");
scanf("%d", &x);
if (x>=0)
{
y=sqrt(x);
printf("%d 'nin karekoku : %d 'dir.\n", x,y);
}
else
{
printf("Lutfen negatif bir sayi girmeyiniz.\n");
}
system("PAUSE");
return 0;
}

 

POW (), LOG() ve LOG10() Fonksiyonları

Son fonksiyonlarımızdan ise pow(); üs hesaplamaya, yani x üzeri y gibi işlemleri gerçekleştirir. log() fonksiyonu isex sayısının doğal logaritmasını alır(lnx). Son fonksiyon olan log10() ise logaritma işlemlerinde kullanılır. Yalnız log() ve log()10fonksiyonları pozitif sayılarda gerçekleşmektedir.

#include <stdio.h>
#include <math.h>
main()
{
double x, y, z;
x = 64.0;
y = 3.0;
z = 0.5;
printf("pow(64.0, 3.0) = %7.0f\n", pow(x,y) );
printf("sqrt(64.0)     = %2.0f\n", sqrt(x)  );
printf("pow(64.0, 0.5) = %2.0f\n", pow(x,z) );
printf("ln(3.0)        = %f   \n", log(y)   );
printf("log(3.0)       = %f   \n", log10(y) );
return 0;
}

Bir Cevap Yazın