Sổ tay thư viện hàm ngôn ngữ lập trình C - Pdf 24

Thư viện hàm ngôn ngữ lập trình C

vncoding.net Page
1

Title: Thư viện hàm ngôn ngữ lập trình C
Author: Vu Hong Viet
Date: 09/11/2014
Thư viện hàm ngôn ngữ lập trình C
<Tài liệu tham khảo từ diễn đàn: Thư viện hàm ngôn ngữ lập trình C

vncoding.net Page
2

<assert.h>
void assert( int expression);

#include <stdio.h>
#include <conio.h>
#include <assert.h>
#include <string.h>

void analyze_string( char *string ); // Prototype

int main( void )
{
char test1[] = "abc", *test2 = NULL, test3[] = "";

printf ( "Analyzing string '%s'\n", test1 );
fflush( stdout );
analyze_string( test1 );

printf ( "Analyzing string '%s'\n", test2 );
fflush( stdout );
analyze_string( test2 );

printf ( "Analyzing string '%s'\n", test3 );
fflush( stdout );
analyze_string( test3 );
getch();
}

// Tests a string to see if it is NULL,
// empty, or longer than 0 characters.
void analyze_string( char * string )
{
assert( string != NULL ); // Cannot be NULL

printf("\nc1 is alphanumberic");
else
printf("\nc1 is NOT alphanumberic");

if(isalnum(c2))
printf("\nc2 is alphanumberic");
else
printf("\nc2 is NOT alphanumberic");

getch();
}
Kết quả:
c1 is NOT alphanumberic
c2 is alphanumberic

Thư viện hàm ngôn ngữ lập trình C

vncoding.net Page
5

int isalpha(int c);
Parameter:
c : tham số đầu vào kiểu int
Remark:
Hàm isalpha( ) sẽ kiểm tra tham số c. Nếu c là chữ cái (nằm trong dải A – Z, a – z),
thì hàm sẽ trả về giá trị khác 0. Còn nếu c là không phải là chữ cái, hàm sẽ trả về giá
trị 0.
Ví dụ: kiểm tra c1 = 48 (số 0 trong bảng mã ASCII), c2 = 97 (kí tự ‘a’).
#include <stdio.h>
#include <conio.h>

Remark:
Hàm iscntrl( ) kiểm tra tham số c. Nếu c là kí tự điều khiển (nằm từ 0x00 – 0x1F,
0x7F), hàm sẽ trả về giá trị khác 0. Và nếu c không phải là kí tự điều khiển, hàm sẽ
trả về giá trị 0.
Ví dụ: kiểm tra c1 = 10 và c2 = 19 có phải là kí tự điều khiển không?
#include <stdio.h>
#include <conio.h>
#include <ctype.h>

void main()
{
int c1 = 10, c2 = 19;
if(iscntrl(c1))
printf("\nc1 is control character");
else
printf("\nc1 is NOT control character");

if(iscntrl(c2))
printf("\nc2 is control character");
else
printf("\nc2 is NOT control character");

getch();
}
Kết quả:
c1 is control character
c2 is control character Thư viện hàm ngôn ngữ lập trình C


Kết quả:
c1 is decimal digit
c2 is decimal digit Thư viện hàm ngôn ngữ lập trình C

vncoding.net Page
8

int isgraph(int c);
Parameter:
c : tham số đầu vào kiểu int
Remark:
Hàm isgraph( ) kiểm tra tham số c. Nếu c là kí tự có thể in được(từ 0x21 – 0x7E),
hàm sẽ trả về giá trị khác 0. Và nếu c không phải là kí tự in được, hàm sẽ trả về giá
trị 0.
Ví dụ: kiểm tra c1 = 40 (kí tự @) và c2 = 7 (tiếng chuông) có phải là kí tự in được
không?
#include <stdio.h>
#include <conio.h>
#include <ctype.h>

void main()
{
int c1 = 40; // character '@'
int c2 = 7; // bell sound
if(isgraph(c1))
printf("\nc1 is printable character");

void main()
{
int c1 = 97; // character 'a'
int c2 = 65; // character 'A'
if(islower(c1))
printf("\nc1 is lowercase character");
else
printf("\nc1 is NOT lowercase character");

if(islower(c2))
printf("\nc2 is lowercase character");
else
printf("\nc2 is NOT lowercase character");

getch();
}
Kết quả:
c1 is lowercase character
c2 is NOT lowercase character Thư viện hàm ngôn ngữ lập trình C

vncoding.net Page
10

int isupper(int c);
Parameter:
c : tham số đầu vào kiểu int
Remark:

vncoding.net Page
11

int isprint(int c);
Parameter:
c : tham số đầu vào kiểu int
Remark:
Hàm isprint( ) kiểm tra tham số c. Nếu c là kí tự in được (từ 0x20 – 0x7E), hàm sẽ
trả về giá trị khác 0. Và nếu c không phải là kí tự in được, hàm sẽ trả về giá trị 0.
Ví dụ: kiểm tra c1 = 32 và c2 = 69 có phải là kí tự in được không?
#include <stdio.h>
#include <conio.h>
#include <ctype.h>

void main()
{
int c1 = 32; // character space
int c2 = 69; // character 'E'
if(isprint(c1))
printf("\nc1 is printing character");
else
printf("\nc1 is NOT printing character");

if(isprint(c2))
printf("\nc2 is printing character");
else
printf("\nc2 is NOT printing character");

getch();
}


if(ispunct(c2))
printf("\nc2 is punctuation character");
else
printf("\nc2 is NOT punctuation character");

getch();
}
Kết quả:
c1 is NOT punctuation character
c2 is NOT punctuation character

Thư viện hàm ngôn ngữ lập trình C

vncoding.net Page
13

int isspace(int c);
Parameter:
c : tham số đầu vào kiểu int
Remark:
Hàm isspace ( ) kiểm tra tham số c. Nếu c là kí tự trắng (từ 0x09 – 0x0D, 0x20 là
các kí tự: space, formfeed, newline, carriage return, tab, vertical tab), hàm sẽ trả về
giá trị khác 0. Và nếu c không phải là kí tự in được, hàm sẽ trả về giá trị 0.
Ví dụ: kiểm tra c1 = 32 và c2 = 9 có phải là kí tự trắng không?
#include <stdio.h>
#include <conio.h>
#include <ctype.h>

void main()

Ví dụ: kiểm tra c1 = 68 và c2 = 71 có phải là chữ số hexa không?
#include <stdio.h>
#include <conio.h>
#include <ctype.h>

void main()
{
int c1 = 68; // character 'D'
int c2 = 71; // character 'G'
if(isxdigit(c1))
printf("\nc1 is hexadecimal digit ");
else
printf("\nc1 is NOT hexadecimal digit");

if(isxdigit(c2))
printf("\nc2 is hexadecimal digit ");
else
printf("\nc2 is NOT hexadecimal digit ");

getch();
}
Kết quả:
c1 is hexadecimal digit
c2 is NOT hexadecimal digit Thư viện hàm ngôn ngữ lập trình C

vncoding.net Page
15

Kết quả:
D is uppercase character
D is converted into lowercase: d

Thư viện hàm ngôn ngữ lập trình C

vncoding.net Page
16

int toupper( int c );
Parameter:
c : kí tự đầu vào để convert thành kí tự in hoa
Remark:
Hàm toupper ( ) kiểm tra tham số c và convert kí tự c thành kí tự in hoa. Nếu c là kí
tự in thường, hàm sẽ trả về kí tự in hoa. Để đảm bảo hàm toupper( ) trả về kết quả
mong muốn, chúng ta cần dùng hàm islower( ) để kiểm tra kí tự cần convert là kí tự
in thường.
Ví dụ:
#include <stdio.h>
#include <conio.h>
#include <ctype.h>

void main()
{
int c = 97; // character 'a'
if(islower(c))
{
printf("\n%c is lowercase character", c);
printf("\n%c is converted into uppercase: %c",c,
toupper(c));

void main( void )
{
double x = 2.302585093, y;

y = exp( x );
printf( "exp( %f ) = %f\n", x, y );

getch();
}
Kết quả:
exp( 2.302585 ) = 10.000000

Thư viện hàm ngôn ngữ lập trình C

vncoding.net Page
18

double log(double x);
double log10(double x);
Parameter:
x: giá trị double
Remark:
Hàm log( ) tính logarit giá trị x.
- Hàm log( ) sẽ trả về giá trị logarit cơ số e (ln(x)) của x, nếu thành công
- Hàm log10( ) sẽ trả về logarit cơ số 10 của x, nếu thành công.
- Hàm log( ), log10() sẽ trả về giá trị không xác định, nếu x < 0.
- Hàm log( ), log10() sẽ trả về giá trị INF, nếu x = 0.

Remark:
Hàm sẽ trả về giá trị x^y. Nếu có tràn trên hoặc tràn dưới, hàm sẽ không thông báo
message lỗi.
- x > 0 hoặc x < 0 và y = 0, Hàm trả về giá trị 1
- x = 0 và y = 0, hàm trả về giá trị 1
- x = 0 và y < 0, hàm trả về INF
Ví dụ:
#include <math.h>
#include <stdio.h>
#include <conio.h>

void main( void )
{
double x = 2.0, y = 3.0, z;

z = pow( x, y );
printf( "%.1f to the power of %.1f is %.1f\n", x, y, z );
getch();
}
Kết quả:
2.0 to the power of 3.0 is 8.0

Thư viện hàm ngôn ngữ lập trình C

vncoding.net Page
20


Thư viện hàm ngôn ngữ lập trình C

vncoding.net Page
21

double ceil(double x);
Parameter:
X: giá trị double
Remark:
Hàm ceil( ) trả về giá trị nguyên nhỏ nhất, lớn hơn hoặc bằng x
Ví dụ:
#include <math.h>
#include <stdio.h>
#include <conio.h>

int main( void )
{
double question = 45.35, answer;
answer = ceil( question );
printf("\nceil(%.3f) = %.2f", question, answer);

getch();
}
Kết quả:
ceil(45.350) = 46.00
printf( "The ceil of -2.8 is %f\n", y );

getch();
}
Kết quả:
The floor of 2.8 is 2.000000
The floor of -2.8 is -3.000000
The ceil of 2.8 is 3.000000
The ceil of -2.8 is -2.000000

Thư viện hàm ngôn ngữ lập trình C

vncoding.net Page
23

double fabs(double x);
Paramter:
x: tham số đầu vào double
Remark:
Hàm fabs( ) trả về giá trị tuyệt đối của x.
Ví dụ:
#include <math.h>
#include <conio.h>
#include <stdio.h>

void main( void )
{
double y;

y = fabs(-9.5);

{
double x = 4.0, y;
int p = 3;

y = ldexp( x, p );
printf( "%2.1f times two to the power of %d is %2.1f\n",
x, p, y );
getch();
}
Kết quả:
4.0 times two to the power of 3 is 32.0
Thư viện hàm ngôn ngữ lập trình C

vncoding.net Page
25

double frexp(double x,int *expptr);
Parameter:
x: tham số đầu vào double
expptr: Con trỏ trỏ tới vùng nhớ lưu giá trị mũ ( exponent)
Remark:
- Hàm frexp( ) chia nhỏ số dấu phẩy động x thành mantissa (m) và exponent( n).
Trong đó, giá trị tuyệt đối của m ( 0.5 <= m < 1.0) và x = m*2^n. Số mũ n
exponent được lưu tại vùng nhớ được trỏ tới bởi con trỏ expptr


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status