math.h trong C

Header file có tên math.h trong Thư viện C khái niệm các hàm toán học phong phú & một macro. Toàn bộ các hàm có sẵn trong thư viện này nhận double như là một tham số & trả về kết quả ở kiểu double.

Chỉ có một Macro được khái niệm trong thư viện này:

HUGE_VAL: Macro này được sử dụng khi kết quả của một hàm chẳng thể trình diễn dưới dạng một số thực dấu chấm động. Nếu độ lớn để trình diễn đúng đắn kết quả là quá lớn, thì hàm seting errno thành ERANGE để chỉ một Range Error, & trả về một giá trị đủ lớn, rõ ràng được đặt tên bởi HUGE_VAL hoặc đối của nó là – HUGE_VAL.

Nếu độ lớn của kết quả là quá nhỏ, thì một giá trị 0 được trả về. Trong trường hợp này, errno có thể hoặc chẳng thể được seting thành ERANGE.

Sau đây là một số hàm được khái niệm trong math.h trong Thư viện C:

Trả về phần dư của phép chia x/y

Trả về giá trị nguyên lớn nhất bé hơn hoặc bằng x

Trả về trị tuyệt đối của x

Trả về giá trị nguyên nhỏ nhất to hơn hoặc bằng x

Trả về căn bậc hai của x

Trả về phần thập phân của x

Giá trị được trả về là mantissa (phần định trị) & số nguyên được trỏ tới bởi exponent (số mũ). Giá trị kết quả là x = mantissa * 2 ^ exponent

Trả về tanh (hàm hyperbolic tan) của x (giá trị radian)

Trả về sinh (hàm hyperbolic sin) của x (giá trị radian)

Trả về sin của góc x (giá trị radian)

Trả về cosh (hàm hyperbolic cosin) của x (giá trị radian)

Trả về cos của góc x (giá trị radian)

Trả về arctan của y/x (giá trị radian)

Trả về arctan của x (giá trị radian)

Trả về arcsin của x (giá trị radian)

Trả về arcos của x (giá trị radian)

Hàm double acos(double x) trong Thư viện C trả về arcos của x (giá trị radian).

Khai báo hàm acos() trong C

Dưới đây là phần khai báo cho hàm acos() trong C:

double

acos

(

double

x

)

Tham số:

x − Đây là giá trị số thực dấu chấm động trong đoạn [-1,+1].

Trả về giá trị:

Hàm này trả về arcos của x, trong đoạn [0, pi] radian.

Chẳng hạn:

Chương trình C sau minh họa cách dùng của hàm acos() trong C:

#include

<stdio.hvàgt;

#include

<math.h>

#define

PI

3.14159265

int

main

()

{

double

x

,

ret

,

val

;

x

=

0.9

;

val

=

180.0

/

PI

;

ret

=

acos

(

x

)

*

val

;

printf

(

"Gia tri arccos cua %lf la bang %lf"

,

x

,

ret

);

return

(

);

}

Biên dịch & chạy chương trình C trên sẽ cho kết quả:

2. Hàm asin() trong C

Hàm double asin(double x) trong Thư viện C trả về arcsin của x (giá trị radian).

Khai báo hàm asin() trong C

Dưới đây là phần khai báo cho hàm asin() trong C:

double

asin

(

double

x

)

Tham số:

x − Đây là giá trị số thực dấu chấm động trong đoạn [-1,+1].

Trả về giá trị:

Hàm này trả về arcsin của x, trong đoạn [-pi/2,+pi/2] radian.

Chẳng hạn:

Chương trình C sau minh họa cách dùng của hàm asin() trong C:

#include

<stdio.hvàgt;

#include

<math.h>

#define

PI

3.14159265

int

main

()

{

double

x

,

ret

,

val

;

x

=

0.9

;

val

=

180.0

/

PI

;

ret

=

asin

(

x

)

*

val

;

printf

(

"Gia tri arcsin cua %lf la bang %lf"

,

x

,

ret

);

return

(

);

}

Biên dịch & chạy chương trình C trên sẽ cho kết quả:

3. Hàm atan() trong C

Hàm double atan(double x) trong Thư viện C trả về arctan của x (giá trị radian).

Khai báo hàm atan() trong C

Dưới đây là phần khai báo cho hàm atan() trong C:

double

atan

(

double

x

)

Tham số:

x − Đây là giá trị số thực dấu chấm động.

Trả về giá trị:

Hàm này trả về arctan của x, trong đoạn [-pi/2,+pi/2] radian.

Chẳng hạn:

Chương trình C sau minh họa cách dùng của hàm atan() trong C:

#include

<stdio.hvàgt;

#include

<math.h>

#define

PI

3.14159265

int

main

()

{

double

x

,

ret

,

val

;

x

=

1.0

;

val

=

180.0

/

PI

;

ret

=

atan

(

x

)

*

val

;

printf

(

"Gia tri arctan cua %lf la bang %lf"

,

x

,

ret

);

return

(

);

}

Biên dịch & chạy chương trình C trên sẽ cho kết quả:

4. Hàm atan2() trong C

Hàm double atan2(doubly y, double x) trong Thư viện C trả về arctan của y/x (giá trị radian).

Khai báo hàm atan2() trong C

Dưới đây là phần khai báo cho hàm atan2() trong C:

double

atan2

(

doubly y

,

double

x

)

Tham số:

  • x − Đây là giá trị số thực dấu chấm động trình diễn tọa độ x.
  • y − Đây là giá trị số thực dấu chấm động trình diễn tọa độ y.
Xem Thêm  Các quy ước đặt tên trong Python (Hướng dẫn chi tiết) - quy tắc python để đặt tên biến

Trả về giá trị:

Hàm này trả về arctan của y/x, trong đoạn [-pi,+pi] radian.

Chẳng hạn:

Chương trình C sau minh họa cách dùng của hàm atan2() trong C:

#include

<stdio.hvàgt;

#include

<math.h>

#define

PI

3.14159265

int

main

()

{

double

x

,

y

,

ret

,

val

;

x

=

-

7.0

;

y

=

7.0

;

val

=

180.0

/

PI

;

ret

=

atan2

(

y

,

x

)

*

val

;

printf

(

"Gia tri arctan2 cua x = %lf, y = %lf "

,

x

,

y

);

printf

(

"la bang %lfn"

,

ret

);

return

(

);

}

Biên dịch & chạy chương trình C trên sẽ cho kết quả:

5. Hàm cos() trong C

Hàm double cos(double x) trong Thư viện C trả về cos của góc x (đo bằng radian).

Khai báo hàm cos() trong C

Dưới đây là phần khai báo cho hàm cos() trong C:

double

cos

(

double

x

)

Tham số:

x − Đây là giá trị số thực dấu chấm động trình diễn một góc được diễn tả bằng giá trị radian.

Trả về giá trị:

Hàm này trả về cos của x.

Chẳng hạn:

Chương trình C sau minh họa cách dùng của hàm cos() trong C:

#include

<stdio.hvàgt;

#include

<math.h>

#define

PI

3.14159265

int

main

()

{

double

x

,

ret

,

val

;

x

=

60.0

;

val

=

PI

/

180.0

;

ret

=

cos

(

x

*

val

);

printf

(

"Gia tri cosin cua %lf la bang %lfn"

,

x

,

ret

);

x

=

90.0

;

val

=

PI

/

180.0

;

ret

=

cos

(

x

*

val

);

printf

(

"Gia tri cosin cua %lf la bang %lfn"

,

x

,

ret

);

return

(

);

}

Biên dịch & chạy chương trình C trên sẽ cho kết quả:

6. Hàm cosh() trong C

Hàm double cosh(double x) trong Thư viện C trả về hypebolic cosine của x.

Khai báo hàm cosh() trong C

Dưới đây là phần khai báo cho hàm cosh() trong C:

double

cosh

(

double

x

)

Tham số:

x − Đây là giá trị số thực dấu chấm động.

Trả về giá trị:

Hàm này trả về hyperbolic cosine của x.

Chẳng hạn:

Chương trình C sau minh họa cách dùng của hàm cosh() trong C:

#include

<stdio.hvàgt;

#include

<math.h>

int

main

()

{

double

x

;

x

=

0.5

;

printf

(

"Gia tri hyperbolic cosine cua %lf la bang %lfn"

,

x

,

cosh

(

x

));

x

=

1.0

;

printf

(

"Gia tri hyperbolic cosine cua %lf la bang %lfn"

,

x

,

cosh

(

x

));

x

=

1.5

;

printf

(

"Gia tri hyperbolic cosine cua %lf la bang %lfn"

,

x

,

cosh

(

x

));

return

(

);

}

Biên dịch & chạy chương trình C trên sẽ cho kết quả:

7. Hàm sin() trong C

Hàm double sin(double x) trong Thư viện C trả về sin của góc x (giá trị radian).

Khai báo hàm sin() trong C

Dưới đây là phần khai báo cho hàm sin() trong C:

double

sin

(

double

x

)

Tham số:

x − Đây là giá trị số thực dấu chấm động trình diễn một góc được diễn tả bằng giá trị radian.

Trả về giá trị:

Hàm này trả về sin của x.

Chẳng hạn:

Chương trình C sau minh họa cách dùng của hàm sin() trong C:

#include

<stdio.hvàgt;

#include

<math.h>

#define

PI

3.14159265

int

main

()

{

double

x

,

ret

,

val

;

x

=

45.0

;

val

=

PI

/

180

;

ret

=

sin

(

x

*

val

);

printf

(

"Sin cua %lf bang %lf"

,

x

,

ret

);

return

(

);

}

Biên dịch & chạy chương trình C trên sẽ cho kết quả:

8. Hàm sinh() trong C

Hàm double sinh(double x) trong Thư viện C trả về hyperbolic sine của x.

Khai báo hàm sinh() trong C

Dưới đây là phần khai báo cho hàm sinh() trong C:

double

sinh

(

double

x

)

Tham số:

x − Đây là giá trị số thực dấu chấm động.

Trả về giá trị:

Hàm này trả về hyperbolic sine của x.

Chẳng hạn:

Chương trình C sau minh họa cách dùng của hàm sinh() trong C:

#include

<stdio.hvàgt;

#include

<math.h>

int

main

()

{

double

x

,

ret

;

x

=

0.5

;

ret

=

sinh

(

x

);

printf

(

"Hyperbolic sine cua %lf bang %lf"

,

x

,

ret

);

return

(

);

}

Biên dịch & chạy chương trình C trên sẽ cho kết quả:

9. Hàm tanh() trong C

Hàm double tanh(double x) trong Thư viện C trả về hyperbolic tang của x.

Khai báo hàm tanh() trong C

Dưới đây là phần khai báo cho hàm tanh() trong C:

double

tanh

(

double

x

)

Tham số:

x − Đây là giá trị số thực dấu chấm động.

Trả về giá trị:

Hàm này trả về hyperbolic tang của x.

Chẳng hạn:

Chương trình C sau minh họa cách dùng của hàm tanh() trong C:

#include

<stdio.hvàgt;

#include

<math.h>

int

main

()

{

double

x

,

ret

;

x

=

0.5

;

ret

=

tanh

(

x

);

printf

(

"Hyperbolic tangent cua %lf bang %lf"

,

x

,

ret

);

return

(

);

}

Biên dịch & chạy chương trình C trên sẽ cho kết quả:

10. Hàm exp() trong C

Hàm double exp(double x) trong Thư viện C trả về e mũ x.

Khai báo hàm exp() trong C

Dưới đây là phần khai báo cho hàm exp() trong C:

double

exp

(

double

x

)

Tham số:

x − Đây là giá trị số thực dấu chấm động.

Xem Thêm  Đầu vào và đầu ra của người dùng Java - cách cung cấp thông tin đầu vào của người dùng trong java

Trả về giá trị:

Hàm này trả về ex.

Chẳng hạn:

Chương trình C sau minh họa cách dùng của hàm exp() trong C:

#include

<stdio.hvàgt;

#include

<math.h>

int

main

()

{

double

x

=

;

printf

(

"e^%lf = %lfn"

,

x

,

exp

(

x

));

printf

(

"e^%lf = %lfn"

,

x

+

1

,

exp

(

x

+

1

));

printf

(

"e^%lf = %lfn"

,

x

+

2

,

exp

(

x

+

2

));

return

(

);

}

Biên dịch & chạy chương trình C trên sẽ cho kết quả:

11. Hàm frexp() trong C

Hàm double frexp(double x, int *exponent) trong Thư viện C trả về mantissa (phần định trị) & số nguyên được trỏ tới bởi exponent (số mũ). Giá trị kết quả là x = mantissa * 2 ^ exponent.

Khai báo hàm frexp() trong C

Dưới đây là phần khai báo cho hàm frexp() trong C:

double

frexp

(

double

x

,

int

*

exponent

)

Tham số:

x − Đây là giá trị số thực dấu chấm động để được tính toán.

exponent − Đây là con trỏ tới một đối tượng int nơi mà giá trị exponent được lưu trữ.

Trả về giá trị:

Hàm này trả về phần định trị (mantissa) & số nguyên được trỏ tới bởi exponent.

Chẳng hạn:

Chương trình C sau minh họa cách dùng của hàm frexp() trong C:

#include

<stdio.hvàgt;

#include

<math.h>

int

main

()

{

double

x

=

1024

,

fraction

;

int

e

;

fraction

=

frexp

(

x

,

&

e

);

printf

(

"x = %.2lf = %.2lf * 2^%dn"

,

x

,

fraction

,

e

);

return

(

);

}

Biên dịch & chạy chương trình C trên sẽ cho kết quả:

12. Hàm ldexp() trong C

Hàm double ldexp(double x, int exponent) trong Thư viện C trả về x*2exponent.

Khai báo hàm ldexp() trong C

Dưới đây là phần khai báo cho hàm ldexp() trong C:

double

ldexp

(

double

x

,

int

exponent

)

Tham số:

x − Đây là giá trị số thực dấu chấm động, cũng trình diễn số chữ số sau dấu phảy có nghĩa.

exponent − Đây là giá trị của exponent.

Trả về giá trị:

Hàm này trả về x * 2 exp

Chẳng hạn:

Chương trình C sau minh họa cách dùng của hàm ldexp() trong C:

#include

<stdio.hvàgt;

#include

<math.h>

int

main

()

{

double

x

,

ret

;

int

n

;

x

=

0.65

;

n

=

3

;

ret

=

ldexp

(

x

,

n

);

printf

(

"%f * 2^%d = %fn"

,

x

,

n

,

ret

);

return

(

);

}

Biên dịch & chạy chương trình C trên sẽ cho kết quả:

13. Hàm log() trong C

Hàm double log(double x) trong Thư viện C trả về lnx.

Khai báo hàm log() trong C

Dưới đây là phần khai báo cho hàm log() trong C:

double

log

(

double

x

)

Tham số:

x − Đây là giá trị số thực dấu chấm động.

Trả về giá trị:

Hàm này trả về lnx.

Chẳng hạn:

Chương trình C sau minh họa cách dùng của hàm log() trong C:

#include

<stdio.hvàgt;

#include

<math.h>

int

main

()

{

double

x

,

ret

;

x

=

2.7

;

/* tim gia tri cua log(2.7) */

ret

=

log

(

x

);

printf

(

"log(%lf) = %lf"

,

x

,

ret

);

return

(

);

}

Biên dịch & chạy chương trình C trên sẽ cho kết quả:

14. Hàm log10() trong C

Hàm double log10(double x) trong Thư viện C trả về log10(x).

Khai báo hàm log10() trong C

Dưới đây là phần khai báo cho hàm log10() trong C:

double

log10

(

double

x

)

Tham số:

x − Đây là giá trị số thực dấu chấm động.

Trả về giá trị:

Hàm này trả về log10(x), với x to hơn 0.

Chẳng hạn:

Chương trình C sau minh họa cách dùng của hàm log10() trong C:

#include

<stdio.hvàgt;

#include

<math.h>

int

main

()

{

double

x

,

ret

;

x

=

1000

;

/* tim gia tri cua log

10

1000 */

ret

=

log10

(

x

);

printf

(

"log10(%lf) = %lfn"

,

x

,

ret

);

return

(

);

}

Biên dịch & chạy chương trình C trên sẽ cho kết quả:

15. Hàm modf() trong C

Hàm double modf(double x, double *integer) trong Thư viện C trả về phần thập phân của x.

Khai báo hàm modf() trong C

Dưới đây là phần khai báo cho hàm modf() trong C:

double

modf

(

double

x

,

double

*

integer

)

Tham số:

x − Đây là giá trị số thực dấu chấm động.

integer − Đây là con trỏ tới một đối tượng mà phần nguyên được lưu trữ.

Trả về giá trị:

Hàm này trả về phần thập phân của x, có cùng dấu.

Chẳng hạn:

Chương trình C sau minh họa cách dùng của hàm modf() trong C:

#include

<stdio.hvàgt;

#include

<math.h>

int

main

()

{

double

x

,

fractpart

,

intpart

;

x

=

7.123456

;

fractpart

=

modf

(

x

,

&

intpart

);

printf

(

"Phan nguyen = %lfn"

,

intpart

);

printf

(

"Phan thap phan = %lf n"

,

fractpart

);

return

(

);

}

Biên dịch & chạy chương trình C trên sẽ cho kết quả:

16. Hàm pow() trong C

Hàm double pow(double x, double y) trong Thư viện C trả về xy.

Khai báo hàm pow() trong C

Dưới đây là phần khai báo cho hàm pow() trong C:

double

pow

(

double

x

,

double

y

)

Tham số:

  • x − Đây là cơ số, là một giá trị số thực dấu chấm động.
  • y − Đây là số mũ, là một giá trị số thực dấu chấm động.
Xem Thêm  Vue.js là gì? Tổng quan cho người mới bắt đầu - vue js là gì

Trả về giá trị:

Hàm này trả về xy.

Chẳng hạn:

Chương trình C sau minh họa cách dùng của hàm pow() trong C:

#include

<stdio.hvàgt;

#include

<math.h>

int

main

()

{

printf

(

"9.0 ^ 3 = %lfn"

,

pow

(

9.0

,

3

));

printf

(

"4.05 ^ 2.98 = %lf"

,

pow

(

4.05

,

2.98

));

return

(

);

}

Biên dịch & chạy chương trình C trên sẽ cho kết quả:

17. Hàm sqrt() trong C

Hàm double sqrt(double x) trong Thư viện C trả về căn bậc hai của x.

Khai báo hàm sqrt() trong C

Dưới đây là phần khai báo cho hàm sqrt() trong C:

double

sqrt

(

double

x

)

Tham số:

x − Đây là giá trị số thực dấu chấm động.

Trả về giá trị:

Hàm này trả về căn bậc hai của x.

Chẳng hạn:

Chương trình C sau minh họa cách dùng của hàm sqrt() trong C:

#include

<stdio.hvàgt;

#include

<math.h>

int

main

()

{

printf

(

"Can bac hai cua %lf bang %lfn"

,

4.0

,

sqrt

(

4.0

)

);

printf

(

"Can bac hai cua %lf bang %lfn"

,

5.0

,

sqrt

(

5.0

)

);

return

(

);

}

Biên dịch & chạy chương trình C trên sẽ cho kết quả:

18. Hàm ceil() trong C

Hàm double ceil(double x) trong Thư viện C trả về giá trị nguyên nhỏ nhất to hơn hoặc bằng x.

Khai báo hàm ceil() trong C

Dưới đây là phần khai báo cho hàm ceil() trong C:

double

ceil

(

double

x

)

Tham số:

x − Đây là giá trị số thực dấu chấm động.

Trả về giá trị:

Trả về giá trị nguyên nhỏ nhất không bé hơn x.

Chẳng hạn:

Chương trình C sau minh họa cách dùng của hàm ceil() trong C:

#include

<stdio.hvàgt;

#include

<math.h>

int

main

()

{

float

val1

,

val2

,

val3

,

val4

;

val1

=

1.6

;

val2

=

1.2

;

val3

=

2.8

;

val4

=

2.3

;

printf

(

"Gia tri cua ceil(%.1f) = %.1lfn"

,

val1

,

ceil

(

val1

));

printf

(

"Gia tri cua ceil(%.1f) = %.1lfn"

,

val2

,

ceil

(

val2

));

printf

(

"Gia tri cua ceil(%.1f) = %.1lfn"

,

val3

,

ceil

(

val3

));

printf

(

"Gia tri cua ceil(%.1f) = %.1lfn"

,

val4

,

ceil

(

val4

));

return

(

);

}

Biên dịch & chạy chương trình C trên sẽ cho kết quả:

19. Hàm fabs() trong C

Hàm double fabs(double x) trong Thư viện C trả về giá trị tuyệt đối của x.

Khai báo hàm fabs() trong C

Dưới đây là phần khai báo cho hàm fabs() trong C:

double

fabs

(

double

x

)

Tham số:

x − Đây là giá trị số thực dấu chấm động.

Trả về giá trị:

Hàm này trả về giá trị tuyệt đối của x.

Chẳng hạn:

Chương trình C sau minh họa cách dùng của hàm fabs() trong C:

#include

<stdio.hvàgt;

#include

<math.h>

int

main

()

= %lfn"

,

a

,

fabs

(

a

));

printf

(

"Tri tuyet doi:

Biên dịch & chạy chương trình C trên sẽ cho kết quả:

20. Hàm floor() trong C

Hàm double floor(double x) trong Thư viện C trả về giá trị nguyên lớn nhất bé hơn hoặc bằng x.

Khai báo hàm floor() trong C

Dưới đây là phần khai báo cho hàm floor() trong C:

double

floor

(

double

x

)

Tham số:

x − Đây là giá trị số thực dấu chấm động.

Trả về giá trị:

Hàm này trả về số nguyên lớn nhất không to hơn x.

Chẳng hạn:

Chương trình C sau minh họa cách dùng của hàm floor() trong C:

#include

<stdio.hvàgt;

#include

<math.h>

int

main

()

{

float

val1

,

val2

,

val3

,

val4

;

val1

=

1.6

;

val2

=

1.2

;

val3

=

2.8

;

val4

=

2.3

;

printf

(

"Gia tri cua floor(%.1f) = %.1lfn"

,

val1

,

floor

(

val1

));

printf

(

"Gia tri cua floor(%.1f) = %.1lfn"

,

val2

,

floor

(

val2

));

printf

(

"Gia tri cua floor(%.1f) = %.1lfn"

,

val3

,

floor

(

val3

));

printf

(

"Gia tri cua floor(%.1f) = %.1lfn"

,

val4

,

floor

(

val4

));

return

(

);

}

Biên dịch & chạy chương trình C trên sẽ cho kết quả:

21. Hàm fmod() trong C

Hàm double fmod(double x, double y) trong Thư viện C trả về phần dư của phép chia x/y.

Khai báo hàm fmod() trong C

Dưới đây là phần khai báo cho hàm fmod() trong C:

double

fmod

(

double

x

,

double

y

)

Tham số:

x − Đây là giá trị số thực dấu chấm động đóng vai trò là tử số.

y − Đây là giá trị số thực dấu chấm động đóng vai trò là mẫu số.

Trả về giá trị:

Hàm này trả về phần dư của phép chia x/y.

Chẳng hạn:

Chương trình C sau minh họa cách dùng của hàm fmod() trong C:

#include

<stdio.hvàgt;

#include

<math.h>

int

main

()

{

float

a

,

b

;

int

c

;

a

=

9.2

;

b

=

3.7

;

c

=

2

;

printf

(

"Phan du cua phep chia %f / %d la %lfn"

,

a

,

c

,

fmod

(

a

,

c

));

printf

(

"Phan du cua phep chia %f / %f la %lfn"

,

a

,

b

,

fmod

(

a

,

b

));

return

(

);

}

Biên dịch & chạy chương trình C trên sẽ cho kết quả:

Theo Tutorialspoint

Viết một bình luận