C 语言中有大量的标准库函数,根据功能不同,声明于不同的头文件中。这些库函数在C++中也能使用。下面分类总结了一些C 语言常用库函数。
一、数学库函数
数学库函数声明在 math.h 中,C++是cmath。
| 符号 | 含义 |
|---|---|
| abs(x) | 求整型数x 的绝对值 |
| cabs(struct complex znum) | 返回复数znum的绝对值 |
| cos(x) | x(弧度)的余弦 |
| fabs(x) | 求浮点数x 的绝对值 |
| labs(long n) | 返回长整型参数n的绝对值 |
| ceil(x) | 求不小于x 的最小整数 |
| floor(x) | 求不大于x 的最小整数 |
| exp(double x) | 返回指数函数e^x的值 |
| log(x) | 求x 的自然对数 |
| log10(x) | 求x 的对数(底为10) |
| pow(x, y) | 求x 的y 次方 |
| sin(x) | 求x(弧度)的正弦 |
| sqrt(x) | 求x 的平方根 |
| srand(unsigned seed) | 初始化随机数发生器 |
| int rand() | 产生一个随机数并返回这个数 |
二、字符串处理函数
字符串处理函数在 ctype.h/ctype 中声明。
| 符号 | 含义 |
|---|---|
| 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/string中,在调用这些函数时,可以用字符串常量或字符数组名,以及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/cstdlib 中。
| 函数格式 | 含义 |
|---|---|
| int atoi(char *s) | 将字符串s 里的内容转换成一个整型数返回。若字符串s 的内容是“123”,那么函数返回值就是123 |
| double atof(char *s) | 将字符串s 中的内容转换成浮点数。 |
| char *itoa(int value, char *string, int radix) | 将整型值value 以radix 进制表示法写入 string。 |
本文总结了C语言中的标准库函数,包括数学库函数、字符串处理函数、字符串和内存操作函数以及字符串转换函数。这些函数广泛应用于各种C语言程序中,帮助开发者高效地实现特定功能。
6464

被折叠的 条评论
为什么被折叠?



