C语言常用库函数
1、 <stdio.h>
函数原型 | 示例 | 说明 |
---|---|---|
NULL | 这个宏是一个空指针常量的值 | |
EOF | 这个宏是一个表示已经到达文件结束的负整数 | |
int printf(const char *format, …) | 发送格式化输出到标准输出 stdout; %c :字符;%d:十进制整数;%f:浮点数 ;%s:字符串;%% :输出字符%; 左对齐:"-";右对齐:"+";%m.nf:m 指所占的字符数,n 指小数位数默认为6; | |
int sprintf(char *str, const char *format, …) | 发送格式化输出到字符串 | |
int scanf(const char *format, …) | 从标准输入 stdin 读取格式化输入 | |
int sscanf(const char *str, const char *format, …) | 从字符串读取格式化输入 | |
int getchar(void) | 从标准输入 stdin 获取一个字符(一个无符号字符) | |
char *gets(char *str) | 从标准输入 stdin 读取一行,并存储在 str 中;当读取到换行符或到达文件末尾时停止 | |
int putchar(int char) | 把 char 写入到标准输出 stdout 中 | |
int puts(const char *str) | 把字符串 str 写入到标准输出 stdout,换行符会被追加到输出中 | |
2、 <stdlib.h>
函数原型 | 示例 | 说明 |
---|---|---|
double atof(const char *str) | val = atof(str) | 把 str 字符串转换为一个double 型浮点数,转换不成功返回0.0 |
int atoi(const char *str) | val = atoi(str); | 把参数 str 所指向的字符串转换为一个 int 型整数,转换不成功返回0 |
void *malloc(size_t size) | p = (int *) malloc(sizeof(int)*5); | 分配所需的内存空间,并返回一个指向它的指针 |
void free(void *ptr) | free(p ); | 释放之前 malloc所分配的内存空间,不返回任何值 |
int system(const char *string) | char command[10] = “ls -l”; system(command); | 由 string 指定的命令传给要被命令处理器执行的主机环境 |
void *bsearch(const void *key, const void *base, size_t nitems, size_t size, int (*compar)(const void *, const void *)) | int cmp(const void * a, const void * b) { return ( *(int *)a - *(int *)b ); } item = (int *) bsearch (&key, values, 5, sizeof (int), cmp); | 执行二分查找; key – 指向要查找的元素的指针,类型转换为 void* base – 指向进行查找的数组的第一个对象的指针,类型转换为 void* nitems – base 所指向的数组中元素的个数 size – 数组中每个元素的大小,以字节为单位 compar – 用来比较两个元素的函数。 |
void qsort(void *base, size_t nitems, size_t size, int (*compar)(const void , const void)) | qsort(values, 5, sizeof(int), cmp); | 数组原地从小到大排序; base – 指向要排序的数组的第一个元素的指针 nitems – 由 base 指向的数组中元素的个数 size – 数组中每个元素的大小,以字节为单位 compar – 用来比较两个元素的函数。 |
int abs(int x) | b = abs(-10); | 返回 x 的绝对值 |
RAND_MAX | 这个宏是 rand 函数返回的最大值 | |
int rand(void) | r = rand()/RAND_MAX; | 返回一个范围在 0 到 RAND_MAX 之间的伪随机数 |
3、 <string.h>
函数原型 | 示例 | 说明 |
---|---|---|
void *memcpy(void *dest, const void *src, size_t n) | memcpy(dest, src, strlen(src)+1); | 从 src 复制 n 个字符到 dest,返回一个指向 str1 的指针 |
void *memset(void *str, int c, size_t n) | memset(str, ‘0’, sizeof(str)); | 复制无符号字符 c 到 str 的前 n 个字符,返回一个指向存储区 str 的指针 |
char *strcat(char *dest, const char *src) | strcat(dest, src); | 把 src 字符串追加到 dest 符串的结尾,返回一个指向dest的指针 |
char *strncat(char *dest, const char *src, size_t n) | strncat(dest, src, 15); | 把 src 字符串的前 n 字符追加到 dest 字符串的结尾,返回指向 dest 的指针 |
char *strchr(const char *str, int c) | ret = strchr(str, ch); | 在 str 字符串中搜索第一次出现字符 c 的位置 ,返回位置指针,未找到则返回 NULL |
int strcmp(const char *str1, const char *str2) | ret = strcmp(str1, str2); | 比较 str1 和 str2 字符串,返回值小于 0, str1<str2;大于 0,str1>str2 ;等于 0,str1=str2 |
int strncmp(const char *str1, const char *str2, size_t n) | ret = strncmp(str1, str2, 4); | 把 str1 和 str2 进行比较,最多比较前 n 个字节 |
char *strcpy(char *dest, const char *src) | strcpy (str2,str1); strcpy (str3, “copy”); | 把 src 字符串复制到 dest |
char *strncpy(char *dest, const char *src, size_t n) | strncpy(dest, src, sizeof(dest); | 把 src 字符串复制到 dest,最多复制 n 个字符。 |
size_t strlen(const char *str) | len = strlen(str); | 计算字符串 str 的长度,直到空结束字符,但不包括空结束字符 |
char *strrchr(const char *str, int c) | ret = strrchr(str, ch); | 在 str 字符串中搜索最后一次出现字符 c 的位置。 |
char *strstr(const char *dest, const char *src) | ret = strstr(dest, src); | 在字符串 dest 中查找第一次出现字符串 src(不包含空结束字符)的位置,返回位置指针 |
char *strtok(char *str, const char *delim) | token = strtok(str, s); while( token != NULL) {printf( “%s\n”, token ); token = strtok(NULL, s);} | 根据分隔符 delim 分解字符串 str ,返回被分解的第一个子字符串,如无则返回一个空指针 |
4、 <math.h>
函数原型 | 示例 | 说明 |
---|---|---|
double exp(double x) | 返回 e 的 x 次幂的值 | |
double log(double x) | 返回 x 的自然对数(基数为 e 的对数) | |
double log10(double x) | 返回 x 的常对数(基数为 10 的对数) | |
double modf(double x, double *integer) | 返回值为小数部分(小数点后的部分),并设置 integer 为整数部分 | |
double pow(double x, double y) | 返回 x 的 y 次幂 | |
double sqrt(double x) | 返回 x 的平方根 | |
double ceil(double x) | 返回大于或等于 x 的最小的整数值 | |
double floor(double x) | 返回小于或等于 x 的最大的整数值。 | |
5、<ctype.h>
函数原型 | 示例 | 说明 |
---|---|---|
int isalnum(int c) | 检查所传的字符是否是字母和数字 | |
int isalpha(int c) | 检查所传的字符是否是字母 | |
int isdigit(int c) | 检查所传的字符是否是十进制数字 | |
int islower(int c) | 检查所传的字符是否是小写字母 | |
int isprint(int c) | 检查所传的字符是否是可打印的 | |
int ispunct(int c) | 检查所传的字符是否是标点符号字符 | |
int isspace(int c) | 检查所传的字符是否是空白字符 | |
int isupper(int c) | 检查所传的字符是否是大写字母 | |
int tolower(int c) | 把大写字母转换为小写字母 | |
int toupper(int c) | 把小写字母转换为大写字母 | |
GOOD LUCK!