C语言经常使用库函数

C语言经常使用库函数


一、 <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,换行符会被追加到输出中

二、 <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 之间的伪随机数

三、 <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 ,返回被分解的第一个子字符串,如无则返回一个空指针

四、 <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 的最大的整数值。

五、<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!git