الدرس 52: دوال المكتبة القياسية (المكتبة الرياضية)
تكمن قوة لغة C في مجموعتها الواسعة من دوال المكتبة القياسية. لاستخدام الدوال الرياضية، يجب تضمين <math.h>.
ملاحظة: عند ترجمة برنامج يستخدم <math.h> ، ستحتاج عادةً إلى ربط المكتبة الرياضية باستخدام الخيار -lm مع GCC (مثلاً: gcc program.c -o program -lm).
الدوال الرياضية الشائعة
| الدالة | الوصف | مثال |
|---|---|---|
sqrt(x) | تعيد الجذر التربيعي لـ x | double result = sqrt(25.0); (5.0) |
pow(x, y) | تعيد x مرفوعة للقوة y | double result = pow(2.0, 3.0); (8.0) |
sin(x), cos(x), tan(x) | دوال مثلثية (x بالراديان) | double s = sin(1.57); |
fabs(x) | تعيد القيمة المطلقة لرقم عشري | double abs = fabs(-10.5); (10.5) |
ceil(x) | تعيد أصغر عدد صحيح أكبر من أو يساوي x | double c = ceil(4.2); (5.0) |
floor(x) | تعيد أكبر عدد صحيح أصغر من أو يساوي x | double f = floor(4.9); (4.0) |
مثال على الاستخدام
c #include <stdio.h> #include <math.h>
int main() { double a = 9.0; double b = 2.0;
// حساب الوتر باستخدام فيثاغورس
double c_squared = pow(a, 2.0) + pow(b, 2.0);
double hypotenuse = sqrt(c_squared);
printf("الوتر هو: %.2f\n", hypotenuse);
return 0;
}
متطلبات النوع: تتوقع معظم دوال <math.h> وتعيد أنواعاً من نوع double. إذا كنت تعمل مع float أو long double ، توجد نسخ مخصصة (مثل sqrtf, sqrtl).