C语言标准库函数–数学函数、字符(串)处理函数

C语言标准库函数

C 语言中有大量的标准库函数,根据功能不同,声明于不同的头文件中。这些库函数在C++中也能使用。下面分类列举了一些C 语言常用库函数,由于篇幅所限,只列出函数名字及其作用。

数学函数

数学库函数声明在 math.h 中,主要有:

abs(x) 求整型数x 的绝对值

cos(x) x(弧度)的余弦

fabs(x) 求浮点数x 的绝对值

ceil(x) 求不小于x 的最小整数

floor(x) 求不大于x 的最小整数

log(x) 求x 的自然对数

log10(x) 求x 的对数(底为10)

pow(x, y) x y 次方

sin(x) x(弧度)的正弦

sqrt(x) x 的平方根

 

字符处理函数

在 ctype.h 中声明,主要有:

int isdigit(int c) 判断c 是否是数字字符

int isalpha(int c) 判断c 是否是一个字母

int isalnum(int c) 判断c 是否是一个数字或字母

int islower(int c) 判断 c 是否是一个小写字母

int islower(int c) 判断 c 是否是一个小写字母

int isupper(int c) 判断 c 是否是一个大写字母

int toupper(int c) 如果 c 是一个小写字母,则返回其大写字母

int tolower (int c) 如果 c 是一个大写字母,则返回其小写字母

 

字符串和内存操作函数

字符串和内存操作函数声明在 string.h 中,在调用这些函数时,可以用字符串常量或字符数组名,以及char * 类型的变量,作为其 char * 类型的参数。

字符串函数常用的有:

char * strchr(char * s, int c)

如果s 中包含字符c, 则返回一个指向s 第一次出现的该字符的指针, 否则返回NULL

char * strstr(char * s1, char * s2)

如果s2 是s1 的一个子串,则返回一个指向s1 中首次出现s2 的位置的指针,否则返回NULL

char * strlwr(char * s)

将s 中的字母都变成小写

char * strupr( char * s)

将s 中的字母都变成大写

char * strcpy( char * s1, char * s2)

将字符串s2 的内容拷贝到s1 中去

char * strncpy( char * s1, char * s2, int n)

将字符串s2 的内容拷贝到s1 中去,但是最多拷贝n 个字节。如果拷贝字节数达到n,那么就不会往s1 中写入结尾的’\0’

char * strcat( char * s1, char * s2)

将字符串s2 添加到s2 末尾

int strcmp( char * s1, char * s2)

比较两个字符串,大小写相关。如果返回值小于0,则说明s1 按字典顺序在s2 前面;返回值等于0,则说明两个字符串一样;返回值大于0,则说明s1 按字典顺序在s2 后面。

int stricmp( char * s1, char * s2)

比较两个字符串,大小写无关。其他和strcmp 同。

int strlen(const char *string)

计算字符串的长度

char * strncat(char *strDestination, const char *strSource, size_t count)

将字符串strSource 中的前count 个字符添加到字符串strDestination 的末尾

int strncmp(const char *string1, const char *string2, size_t count)

分别取两个字符串的前count 个字符作为子字符串,比较它们的大小

char * strrev(char *string)

将字符串string 前后颠倒。

void * memcpy( void * s1, void * s2, int n)

将内存地址s2 处的n 字节内容拷贝到内存地址s1

void * memset( void * s, int c, int n)

将内存地址s 开始的n 个字节全部置为c

 

字符串转换函数

有几个函数,可以完成将字符串转换为整数、或将整数转换成字符串等这类功能。它们定义在 stdlib.h 中:

int atoi(char *s)

将字符串s 里的内容转换成一个整型数返回。比如,如果字符串s 的内容是“1234”,

那么函数返回值就是1234

double atof(char *s)

将字符串s 中的内容转换成浮点数。

char *itoa(int value, char *string, int radix);

将整型值value 以radix 进制表示法写入 string。比如:

char szValue[20];

itoa( 32, szValue, 10); 则使得szValue 的内容变为 “32”

itoa( 32, szValue, 16); 则使得szValue 的内容变为 “20”

 

原文链接: https://www.cnblogs.com/cpoint/archive/2011/04/25/2028710.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍

    C语言标准库函数--数学函数、字符(串)处理函数

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/24565

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年2月8日 上午2:24
下一篇 2023年2月8日 上午2:26

相关推荐