Hàm thư viện math h trong c – Tài liệu text

Hàm thư viện math h trong c

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (465.55 KB, 4 trang )

Một số hàm toán học trong thư viện math.h

Kí hiệu
toán học

Ý nghĩa

Hàm

Ví dụ

sqrt(x)

Căn bậc 2 của x

pow(x,y)

x mũ y

xy

pow(2,3) bằng 8

exp(x)

e mũ x

ex

exp(1.0) bằng 2.718282

log(x)

logarithm tự nhiên (cơ số e) của x

ln x

log(2.718282) bằng 1.0

log10(x)

logarithm cơ số 10 của x

log x

log10(100) bằng 2

sin(x)

sin của x

sin x

sin(0.0) bằng 0.0

cos(x)

cosin của x

cos x

cos(0.0) bằng 1.0

tan(x)

tang của x

tg x

tan(0.0) bằng 0.0

ceil(x)

phần nguyên già của x, tức là số
nguyên nhỏ nhất không nhỏ hơn x

x

ceil(2.5) bằng 3
ceil(-2.5) bằng –2

floor(x)

phần nguyên non của x, tức là số
nguyên lớn nhất không lớn hơn x

x

floor(2.5) bằng 2
floor(-2.5) bằng –3

asin(x)

Tính sin ngược, góc trả về được tính
theo rad

Arcsin(x)

acos(x)

Tính cos ngược, góc trả về được tính
theo rad

Arccos(x)

atan(x)

Tính tan ngược, góc trả về được tính
theo rad

Arctan(x)

fabs(x)

Tính trị tuyệt đối của x (x là giá trị
thực)

|x|

fmod(x,y)
(*)

Chia lấy phần dư của x cho y, trong
đó x và y là hai số thực

x%y

rint(x)
(*)

Làm tròn tới số nguyên gần nhất của
giá trị thực x

x

sqrt(16.0) bằng 4.0

fmod(3.5, 2) =1.5

rint(3.6)=
rint(3.2)=

Một số hằng số trong thưc viện math.h
M_E

giá trị của e = 2.71828.

M_LOG2E

logarithm cơ số 2 của e.

M_LOG10E –

Logarithm cơ số 10 của e.

M_LN2

Logarithm cơ số tự nhiên của 2.

M_LN10

Logarithm cơ số tự nhiên của 10.

M_PI

.

M_PI_2

/2.

M_PI_4

/4.

M_1_PI

1/

.

M_2_PI

2/

.

M_2_SQRTPI -M_SQRT2

M_SQRT1_2 –

2/  .
căn bậc hai của 2.
căn bậc hai của 1/2.

Một số hàm toán học nằm trong thưc viện stdlib.h

Hàm

Ý nghĩa

Tính trị tuyệt đối của x (x là
giá trị nguyên kiểu int)
Chuyển đổi một xâu ký tự
atof(str)
thành số thực kiểu double
Chuyển đổi một xâu ký tự
atoi(str)
thành số nguyên kiểu int
Chuyển đổi một xâu ký tự
atol(str)
thành số nguyên kiểu long
Tính trị tuyệt đối của x (x là
labs(x)
giá trị nguyên kiểu long)
Chuyển đổi một xâu ký tự
strtod(str,NULL,base)
thành số thực kiểu double
Chuyển đổi một xâu ký tự
strtol(str,NULL,base)

thành số nguyên kiểu long
Chuyển đổi một xâu ký tự
strtoul(str,NULL,base) thành số nguyên dương kiểu
unsigned long
Sinh số nguyên ngẫu nhiên
rand()
(từ 0 đến 32767)
abs(x)

srand(n)
system(str)

Tạo nhân sinh số ngẫu nhiên,
n là số nguyên không dấu
Thực hiện một lệnh

Kí hiệu
toán
học

Ví dụ

|x|

|x|
strtod(“1234”,NULL,8)=5349
strtol(“1234”,NULL,10)=1234
strtoul(“F”,NULL,16)=15

srand((unsigned int)time((time_t

*)NULL));
system(“pause”);

Một số hàm trong thư viện ctype.h
Hàm
isalnum (c)
isalpha(c)
isdigit(c)
iscntrl(c)

Ý nghĩa
Kiểm tra một ký tự có phải là chữ cái hoặc số hay không
(A-Z, a-z, 0-9)
Kiểm tra một ký tự có phải là chữ cái hay không (A-Z, az)
Kiểm tra một ký tự có phải là chữ số hay không (0-9)
Kiểm tra một ký tự có phải là ký tự điều khiển hoặc

Ví dụ
isalnum („a‟)  TRUE
isalpha(„3‟)  FALSE

isgraph(c)
islower (c)
isupper (c)
isprint(c)
ispunct(c)
isspace (c)
isxdigit (c)
toupper(c)

tolower (c)

delete hay không (mã ASCII từ 0-31 and 127)
Kiểm tra một ký tự có phải là ký in được hay không
(ngoại trừ ký tự cách trống 32)
Kiểm tra một chữ cái là chữ thường (a-z).
Kiểm tra một chữ cái là chữ hoa (A-Z).
Kiểm tra xem có phải ký tự in được hay không (mã
ASCII từ 32-126).
Kiểm tra xem ký tự có phải là dấu chấm câu hay không
(mã ASCII là 32-47, 58-63, 91-96, 123-126)
Kiểm tra ký tự có phải là dấu cách trống hay không
Kiểm tra ký tự có phải là chữ số trong hệ hexa hay không
(0-9, A-F, a-f).
Chuyển ký tự chữ cái từ thường thành hoa (nếu không
phải chữ cái thì không làm gì cả)
Chuyển ký tự chữ cái từ hoa thành thường (nếu không
phải chữ cái thì không làm gì cả)

Một số hàm trong thư viện time.h
Ý nghĩa

Hàm

Ví dụ

Một số hàm trong thư viện stdio.h
Hàm
fclose(fHander)
feof(fHander)

fflush(fHander)
getc
getchar
gets
printf
putchar
puts
scanf
sscanf
sprintf

Ý nghĩa

Ví dụ

Đóng file đang mở
Kiểm tra xem đã đến cuối file hay chưa
Đổ bộ nhớ đệm của file
Đọc một ký tự từ bàn phím
Đọc một ký tự từ bàn phím
Đọc vào một xâu ký tự từ bàn phím (chấp nhận
cả dấu cách trống)
Hàm xuất dữ liệu
In nội dung một ký tự ra màn hình
In nội dung một xâu ký tự ra màn hình
Hàm nhập dữ liệu

fflush(stdin)

Một số hàm trong thư viện string.h

strcat

Ý nghĩa
Nối hai xâu ký tự lại làm một

strncat

Nối hai xâu ký tự lại làm một (chỉ nối n ký tự đầu

Hàm

Ví dụ
char *strcat(char *dest, const
char *src);
char *strncat(char *dest,
const char *src, size_t n);

strlen

của xâu nguồn)
Trả về độ dài của một xâu ký tự (số ký tự có trong char str[]=”Hello!”;
xâu)
printf(“%d”,strlen(str));

strcmp

So sánh hai xâu ký tự, trả về giá trị

strncmp

strcpy
strncpy

So sánh n ký tự đầu của hai xâu (giống strcmp)
Copy nội dung của xâu thứ hai vào xâu thứ nhất
Copy n ký tự đầu của xâu thứ hai vào xâu thứ
nhất
Tìm kiếm một ký tự trong xâu. Nếu tìm thấy thì
trả về con trỏ trỏ đến vị trí xuất hiện đầu tiên.
Ngược lại trả về con trỏ NULL

strchr

< 0 nếu s1 nhỏ hơn s2
0 nếu s1 == s2
> 0 nếu s1 lớn hơn s2

strrchr

Tìm kiếm một ký tự trong xâu. Nếu tìm thấy thì
trả về con trỏ trỏ đến vị trí xuất hiện cuối cùng.
Ngược lại trả về con trỏ NULL

strstr

Tìm kiếm một xâu con trong xâu ký tự ban đầu.
Hàm trả về con trỏ tới vị trí tìm được, nếu không
tìm thấy thì trả về NULL

strspn

Tính chiều dài của đoạn đầu tiên trong xâu s mà
chứa toàn bộ ký tự trong tập chấp nhận (accept)

strcspn

Tính chiều dài của đoạn đầu tiên trong xâu s mà
không chứa bất kỳ ký tự nào trong tập từ chối
(reject)
So sánh hai xâu ký tự, trả về giá trị

strcasecmp

strncasecmp

< 0 nếu s1 nhỏ hơn s2
0 nếu s1 == s2
> 0 nếu s1 lớn hơn s2

Không phân biệt ký tự hoa, thường
So sánh n ký tự đầu của hai xâu (giống strcmp)
Không phân biệt ký tự hoa, thường

if(strcmp(str,word)==0)
printf(“They are equal!”);
strcmp(str,word,3)
strcpy(str,word);
strcpy(str,word,3);
int character=’w’;
char *string=”red dwarf”;

if(strchr(string, character))
puts(“Character found”);
int character=’w’;
char *string=”red dwarf”;
if(strrchr(string, character))
puts(“Character found”);
char string1[]=”red dwarf”;
char string2[]=”dwarf”;
void *pointer;
pointer = strstr(string1,
string2);
size_t strspn(const char *s,
const char *accept);
size_t strcspn(const char *s,
const char *reject);

if(strcasecmp(str,word)==0)
printf(“They are equal!”);
strncasecmp(str,word,3)

log(x)logarithm tự nhiên (cơ số e) của xln xlog(2.718282) bằng 1.0log10(x)logarithm cơ số 10 của xlog xlog10(100) bằng 2sin(x)sin của xsin xsin(0.0) bằng 0.0cos(x)cosin của xcos xcos(0.0) bằng 1.0tan(x)tang của xtg xtan(0.0) bằng 0.0ceil(x)phần nguyên già của x, tức là sốnguyên nhỏ nhất không nhỏ hơn xxceil(2.5) bằng 3ceil(-2.5) bằng –2floor(x)phần nguyên non của x, tức là sốnguyên lớn nhất không lớn hơn xxfloor(2.5) bằng 2floor(-2.5) bằng –3asin(x)Tính sin ngược, góc trả về được tínhtheo radArcsin(x)acos(x)Tính cos ngược, góc trả về được tínhtheo radArccos(x)atan(x)Tính tan ngược, góc trả về được tínhtheo radArctan(x)fabs(x)Tính trị tuyệt đối của x (x là giá trịthực)|x|fmod(x,y)(*)Chia lấy phần dư của x cho y, trongđó x và y là hai số thựcx%yrint(x)(*)Làm tròn tới số nguyên gần nhất củagiá trị thực xsqrt(16.0) bằng 4.0fmod(3.5, 2) =1.5rint(3.6)=rint(3.2)=Một số hằng số trong thưc viện math.hM_Egiá trị của e = 2.71828.M_LOG2Elogarithm cơ số 2 của e.M_LOG10E –Logarithm cơ số 10 của e.M_LN2Logarithm cơ số tự nhiên của 2.M_LN10Logarithm cơ số tự nhiên của 10.M_PI–M_PI_2–/2.M_PI_4–/4.M_1_PI–1/M_2_PI–2/M_2_SQRTPI -M_SQRT2M_SQRT1_2 –2/  .căn bậc hai của 2.căn bậc hai của 1/2.Một số hàm toán học nằm trong thưc viện stdlib.hHàmÝ nghĩaTính trị tuyệt đối của x (x làgiá trị nguyên kiểu int)Chuyển đổi một xâu ký tựatof(str)thành số thực kiểu doubleChuyển đổi một xâu ký tựatoi(str)thành số nguyên kiểu intChuyển đổi một xâu ký tựatol(str)thành số nguyên kiểu longTính trị tuyệt đối của x (x làlabs(x)giá trị nguyên kiểu long)Chuyển đổi một xâu ký tựstrtod(str,NULL,base)thành số thực kiểu doubleChuyển đổi một xâu ký tựstrtol(str,NULL,base)thành số nguyên kiểu longChuyển đổi một xâu ký tựstrtoul(str,NULL,base) thành số nguyên dương kiểuunsigned longSinh số nguyên ngẫu nhiênrand()(từ 0 đến 32767)abs(x)srand(n)system(str)Tạo nhân sinh số ngẫu nhiên,n là số nguyên không dấuThực hiện một lệnhKí hiệutoánhọcVí dụ|x||x|strtod(“1234”,NULL,8)=5349strtol(“1234”,NULL,10)=1234strtoul(“F”,NULL,16)=15srand((unsigned int)time((time_t*)NULL));system(“pause”);Một số hàm trong thư viện ctype.hHàmisalnum (c)isalpha(c)isdigit(c)iscntrl(c)Ý nghĩaKiểm tra một ký tự có phải là chữ cái hoặc số hay không(A-Z, a-z, 0-9)Kiểm tra một ký tự có phải là chữ cái hay không (A-Z, az)Kiểm tra một ký tự có phải là chữ số hay không (0-9)Kiểm tra một ký tự có phải là ký tự điều khiển hoặcVí dụisalnum („a‟)  TRUEisalpha(„3‟)  FALSEisgraph(c)islower (c)isupper (c)isprint(c)ispunct(c)isspace (c)isxdigit (c)toupper(c)tolower (c)delete hay không (mã ASCII từ 0-31 and 127)Kiểm tra một ký tự có phải là ký in được hay không(ngoại trừ ký tự cách trống 32)Kiểm tra một chữ cái là chữ thường (a-z).Kiểm tra một chữ cái là chữ hoa (A-Z).Kiểm tra xem có phải ký tự in được hay không (mãASCII từ 32-126).Kiểm tra xem ký tự có phải là dấu chấm câu hay không(mã ASCII là 32-47, 58-63, 91-96, 123-126)Kiểm tra ký tự có phải là dấu cách trống hay khôngKiểm tra ký tự có phải là chữ số trong hệ hexa hay không(0-9, A-F, a-f).Chuyển ký tự chữ cái từ thường thành hoa (nếu khôngphải chữ cái thì không làm gì cả)Chuyển ký tự chữ cái từ hoa thành thường (nếu khôngphải chữ cái thì không làm gì cả)Một số hàm trong thư viện time.hÝ nghĩaHàmVí dụMột số hàm trong thư viện stdio.hHàmfclose(fHander)feof(fHander)fflush(fHander)getcgetchargetsprintfputcharputsscanfsscanfsprintfÝ nghĩaVí dụĐóng file đang mởKiểm tra xem đã đến cuối file hay chưaĐổ bộ nhớ đệm của fileĐọc một ký tự từ bàn phímĐọc một ký tự từ bàn phímĐọc vào một xâu ký tự từ bàn phím (chấp nhậncả dấu cách trống)Hàm xuất dữ liệuIn nội dung một ký tự ra màn hìnhIn nội dung một xâu ký tự ra màn hìnhHàm nhập dữ liệufflush(stdin)Một số hàm trong thư viện string.hstrcatÝ nghĩaNối hai xâu ký tự lại làm mộtstrncatNối hai xâu ký tự lại làm một (chỉ nối n ký tự đầuHàmVí dụchar *strcat(char *dest, constchar *src);char *strncat(char *dest,const char *src, size_t n);strlencủa xâu nguồn)Trả về độ dài của một xâu ký tự (số ký tự có trong char str[]=”Hello!”;xâu)printf(“%d”,strlen(str));strcmpSo sánh hai xâu ký tự, trả về giá trịstrncmpstrcpystrncpySo sánh n ký tự đầu của hai xâu (giống strcmp)Copy nội dung của xâu thứ hai vào xâu thứ nhấtCopy n ký tự đầu của xâu thứ hai vào xâu thứnhấtTìm kiếm một ký tự trong xâu. Nếu tìm thấy thìtrả về con trỏ trỏ đến vị trí xuất hiện đầu tiên.Ngược lại trả về con trỏ NULLstrchr< 0 nếu s1 nhỏ hơn s20 nếu s1 == s2> 0 nếu s1 lớn hơn s2strrchrTìm kiếm một ký tự trong xâu. Nếu tìm thấy thìtrả về con trỏ trỏ đến vị trí xuất hiện cuối cùng.Ngược lại trả về con trỏ NULLstrstrTìm kiếm một xâu con trong xâu ký tự ban đầu.Hàm trả về con trỏ tới vị trí tìm được, nếu khôngtìm thấy thì trả về NULLstrspnTính chiều dài của đoạn đầu tiên trong xâu s màchứa toàn bộ ký tự trong tập chấp nhận (accept)strcspnTính chiều dài của đoạn đầu tiên trong xâu s màkhông chứa bất kỳ ký tự nào trong tập từ chối(reject)So sánh hai xâu ký tự, trả về giá trịstrcasecmpstrncasecmp< 0 nếu s1 nhỏ hơn s20 nếu s1 == s2> 0 nếu s1 lớn hơn s2Không phân biệt ký tự hoa, thườngSo sánh n ký tự đầu của hai xâu (giống strcmp)Không phân biệt ký tự hoa, thườngif(strcmp(str,word)==0)printf(“They are equal!”);strcmp(str,word,3)strcpy(str,word);strcpy(str,word,3);int character=’w’;char *string=”red dwarf”;if(strchr(string, character))puts(“Character found”);int character=’w’;char *string=”red dwarf”;if(strrchr(string, character))puts(“Character found”);char string1[]=”red dwarf”;char string2[]=”dwarf”;void *pointer;pointer = strstr(string1,string2);size_t strspn(const char *s,const char *accept);size_t strcspn(const char *s,const char *reject);if(strcasecmp(str,word)==0)printf(“They are equal!”);strncasecmp(str,word,3)