0965303260
TP. Hồ Chí Minh

[C]. Các Hàm Toán Học Phổ Biến

Trong quá trình lập trình việc sử dụng các hàm toán học là rất phổ biến, ngôn ngữ C cung cấp cho bạn một thư viện là math.h chứa các hàm toán học. Nhiệm vụ của bạn là cần sử dụng thành thạo những hàm toán học phổ biến.

NỘI DUNG : 

  • Các Hàm Toán Học Phổ Biến
  • Ví Dụ 

ảnh mainCác Hàm Toán Học Phổ Biến

Các hàm toán học trong thư viện math.h đều có tham số là một số thuộc kiểu double và có kiểu trả về là double, bạn không cần phải nhớ hết mọi hàm mà chỉ cần nhớ cho mình một vài hàm quan trọng được sử dụng thường xuyên. 

STTHàmChức năng
1pow(x, y)Trả về xy
2sqrt(x)Trả về căn bậc 2 của x
3cbrt(x)Trả về căn bậc 3 của x
4ceil(x)Trả về số nguyên nhỏ nhất lớn hơn hoặc bằng x, tương đương phép làm tròn lên
5floor(x)Trả về số nguyên lớn nhất nhỏ hơn hoặc bằng x, tương đương phép làm tròn xuống
6round(x)Trả về số nguyên gần x nhất phụ thuộc phần thập phân
7fabs(x)Trả về trị tuyệt đối của số x
8exp(x)Trả về ex
9fmod(x, y)Trả về số dư khi chia x cho y
10log(x)Trả về logarit tự nhiên của x
11log10(x)Trả về logarit thập phân của x
12cos(x)Trả về giá trị hàm cos với x là radian
13sin(x)Trả về giá trị hàm sin với x là radian
14tan(x)Trả về giá trị hàm tan với x là radian
15acos(x)Trả về giá trị hàm arccos với x là radian
16asin(x)Trả về giá trị hàm arcsin với x là radian
17atan(x)Trả về giá trị hàm arctan với x là radian


Hàm pow(x,y) : Trả về lũy thừa xy, lưu ý là hàm này trả về số thực double nên nếu bạn muốn tính lũy thừa với x và y nguyên thì cần lưu kết quả dưới dạng số nguyên hoặc ép kiểu khi in ra.

Ví dụ 1: 

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

int main(){
    int a = 2, b = 10;
    printf("%d ", (int)pow(a, b));
    //Tính căn bậc 5
    int n = 100;
    double res = pow(n, 1.0 / 5);
    printf("%.2lf\n", res);
}
Output : 1024 2.51


Hàm sqrt(x) : Tính căn bậc 2 của x

Ví dụ 2 : 

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

int main(){
    int n = 100;
    int can = sqrt(n);
    printf("%d\n", can);
    int m = 1000;
    double res = sqrt(m);
    printf("%.2f\n", res);
    return 0;
}
Output : 
10
31.62


Hàm cbrt(x) : Trả về căn bậc 3 của x

Ví dụ 3 : 

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

int main(){
    int n = 27;
    int can = cbrt(n);
    printf("%d\n", can);
    int m = 100;
    double res = cbrt(m);
    printf("%.2f\n", res);
    return 0;
}
Output :
3
4.64


Hàm ceil(x) : Trả về số nguyên khi làm tròn phần thập phân của x lên, ví dụ x là 2.3 hay 2.8 thì khi sử dụng hàm ceil ta sẽ thu được số 3.

Ví dụ 4 : 

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

int main(){
    //Vì sao câu lệnh này lại in ra 0
    printf("%d\n", ceil(2.1)); 
    int n = ceil(2.3);
    int m = ceil(2.8);
    printf("%d %d", n, m);
    return 0;
}
Output :
0
3 3


Hàm floor(x) : Trả về số nguyên khi làm tròn phần thập phân của x xuống, ví dụ x là 2.3 hay 2.8 thì khi sử dụng hàm ceil ta sẽ thu được số 2.

Ví dụ 5 :

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

int main(){
    //Vì sao câu lệnh này lại in ra 0
    printf("%d\n", floor(2.1)); 
    int n = floor(2.3);
    int m = floor(2.8);
    printf("%d %d", n, m);
    return 0;
}
Output : 
0
2 2


Hàm round(x) : Làm tròn dựa vào phần thập phân của x, nếu phần thập phân của x lớn hơn hoặc bằng 0.5 thì sẽ làm tròn lên, ngược lại sẽ làm tròn xuống

Ví dụ 6 : 

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

int main(){
    //Vì sao câu lệnh này lại in ra 0
    printf("%d\n", round(2.1)); 
    int n = round(2.3);
    int m = round(2.8);
    printf("%d %d", n, m);
    return 0;
}
Output :
0
2 3


Hàm abs(x) : Trả về giá trị tuyệt đối của x, hàm này nằm trong thư viện stdlib.h

Ví dụ 7 : 

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

int main(){
    printf("%d %d", abs(-100), abs(50));
    return 0;
}
Output :
100 50




KẾT LUẬN : Tuy thư viện math.h cung cấp khá nhiều hàm toán học tuy nhiên bạn chỉ cần nhớ cho mình các hàm thường sử dụng là : pow, sqrt, abs, cbrt, ceil, floor, round. Các hàm khác khi cần bạn lại tìm kiếm google sau.


Xem thêm bài giảng của mình về Hàm Toán Học trong C : 

gV-xCX32oUQ