标准C库函数

标准c库函数头文件列表

<assert.h>诊断
<ctype.h>字符检测
<errno.h>错误检测
<float.h>系统定义的浮点型界限
<limits.h>系统定义的整数界限
<locale.h>区域定义
<math.h>数学
<stjump.h>非局部的函数调用
<signal.h>异常处理和终端信号
<stdarg.h>可变长度参数处理
<stddef.h>系统常量
<stdio.h>输入输出
<stdlib.h>多种公用
<string.h>字符串处理
<time.h>时间与日期

绝对值函数

绝对值函数用于将表达式的结果转换为非负数,如下表格:

原型功能
int abs(int n)计算整数n的绝对值
long labs(long n)计算长整数n的绝对值
double fabs(double x)计算双精度实数x的绝对值

幂函数和开平方函数

函数如下表:

原型功能
double pow(double x,double y)计算双精度实数x的y次幂
double sqrt(double x)计算双精度实数x的平方根

指数函数与对数函数

函数如下表:

原型功能
double exp(double x)计算e的双精度实数x次幂
double log(double x)计算以e为底的双精度实数x 的对数In(x);其中e=2.71828
double log10(double x)计算以10为底的双精度实数x 的对数log10(x)

三角函数

原型功能
double sin(double x)计算双精度实数x的正弦值
double cos(double x)计算双精度实数x的余弦值
double tan(double x)计算双精度实数x的正切值
double asin(double x)计算双精度实数x的反正弦值
double acos(double x)计算双精度实数x的反余弦值
double atan(double x)计算双精度实数的反正弦值
double sinh(double x)计算双精度实数x的双曲正弦值
double cosh(double x)计算双精度实数x的双曲余弦值
double tanh(double x)计算双精度实数x的双曲正切值

在使用三角函数时:注意从参数的使用范围
asin中的x的定义域为[-1.0,1.0],值域是[-π/2,+π/2];
acos的值域是:[0:π];
atan的值域是:[-π/2,+π/2];

取整函数和取余函数

原型功能
double ceil(double x)计算不小于双精度实数x的最小整数
double floor(double x)计算不大于双精度实数x的最大整数
double fmod(double x,double y)计算双精度实数x/y的余数,余数使用x的符号
double modf(double x,double *ip)把x分解成整数部分和小数部分,x是双精度浮点数,ip是整数部分指针,返回结果是小数部分

假设x的值是74.12,则ceil(X) = 75;如果x的值是-74.12,则ceil(X)的值是-74;

字符串处理函数

字符串长度函数:

原型功能
int strlen(char *d)返回字符串d的长度,不包括终止符NULL

字符串连接函数:

原型功能
char *strcat(char *d ,char *s)把字符串s连接到字符串d的后面,返回字符串d
char *strncat(char *d ,char *s,int n)把字符串中最多n个字符连接到字符串d的后面,返回字符串d

字符串复制函数:

原型功能
char *strcpy(char *d,char *s)复制字符串s到字符串d,返回字符串d
char *strncpy(char *d,char *s,int n)复制字符串s最多n个字符到字符串d,如果s小于n个字符,用"\n"补上,返回字符串d
char *memcpy(void *d,void *s,int n)从s复制n个字符到d,返回字符串d
char *memmove(void *d,void *s,int n)和memcpy相同,即使d和s部分相同也运行

字符串比较函数:

原型功能
int strcmp(char *d,char *s)比较字符串d与字符串s,如果d<s,返回-1;如果d==s,返回0,;如果d>s,返回1;
int strncmp(char *d,char *s,int n)比较字符串d中最多n个字符与字符串s,如果d<s,返回-1;如果d==s,返回0,;如果d>s,返回1;
int memcmp(void *d,void *s ,int n)比较d的n个字符与s,和strcmp的返回值相同

字符串查找函数:
字符串查找函数用于一个字符串中查找字符出现的位置

原型功能
char *strchr(char *d,char *c)返回一个指向字符串d中c第一次出现的指针;如果没找到c,则返回指向NULL的指针
char *strrchr(char *d,char *c)返回一个指向字符串d中c第一次出现的指针;如果没找到c,则返回指向NULL的指针
char *strstr(char *d,char *s)返回一个指向字符串d中字符s第一次出现的指针;如果没找到s,则返回指向NULL的指针
void *memchr(void *d,char c,int n)返回一个指向被d所指向的n个字符中c第一次出现的指针;如果没找到c,则返回指向NULL的指针

字符填充函数:

原型功能
void *memset(void *d;char c, int n)使用n个字符c填充void*类型变量d

字符处理函数

字符类型判断函数:

原型功能
int isalnum(int c)如果整数c是文字或数字返回非零,否则返回零
int isalpha(int c)如果整数c是一个字母返回非零,否则返回零
int iscntrl(int c)如果整数c是一个控制符返回非零,否则返回零
int isdigit(int c)如果整数c是一个数字返回非零,否则返回零
int isgraph(int c)如果整数c是可打印的(排除空格)返回非零,否则返回零
int islower(int c)如果整数c是小写字母返回非零,否则返回零
int isprint(int c)如果整数c是可打印的(包括空格)返回非零,否则返回零
int ispunct(int c)如果整数c是可打印的(除了空格,字母或数字之外)返回非零,否则返回零
int isspace(int c)如果整数c是一个空格返回非零,否则返回零
int isupper(int c)如果整数c是大小字母返回非零,否则返回零
int isxdigit(int c)如果整数c是十六进制数字返回非零,否则返回零

字符大小写转换函数:

原型功能
int tolower(int c)转换函数c为小写字母。当c为大写英文字母时,返回对应的小写字母,否则返回原来的值
int toupper(int c)转换函数c为大写字母。当c为小写英文字母时,返回对应的大写字母,否则返回原来的值

转换和存储管理函数

转换函数:

原型功能
int atoi(string)转换一个ASCII字符串为一个整数,在第一个非整型字符处停止
double atof(string)转换一个ASCII字符串为一个双精度数,在第一个不能被解释为一个双精度数的字符处停止
string itoa(int ,char *,int)转换一个整数为一个ASCII字符串。为返回的字符串分配的空间必须足够大于被转换的数值

存储管理函数:

原型功能
void *malloc(size_tn)为一个大小为n的对象分配存储空间
void *calloc(size_n,size_n)为n个对象的数组分配存储空间,每个的大小为n,初始化所有被分配的内存为零
void *realloc(void *p,size_n)重新分配空间的大小为n,内容保存于旧的相同,等于新的大小
void free(void *p)释放指向的空间

随机函数

1.rand():它返回[0:MAX]之间均匀分布的伪随机整数。rand函数不接受参数,默认以1为种子(即起始值),它总是以相同的种子开始,所以形成的伪随机数列也相同,不是真正的随机。
2.srand():使用该函数指定不同的数(无符号整数)为种子
要生成一个[A:B]范围的一个随机整数,可以用下面的表示:

int n = A +rand() %(B-A+1);

日期和时间处理函数

原型功能
char *asctime(const struct tm *timeptr)将参数timeptr所指的tm结构中的信息转换成真实世界所使用的时间日期表示方法,然后将结果以字符串形态返回
char *ctime (const time_t *timep)将参数timep所指的time_t结构中的信息转换成真实世界所使用的时间日期表示方法,然后将结果以字符串形态返回
struct tm*gmtime(const time_t *timep)将参数timep所指的time_t结构中的信息转换成真实世界所使用的时间日期表示方法,然后将结果由结构tm返回
struct tm *localtime(const time_t *timep)将参数timep所指的time_t结构中的信息转换成真实世界所使用的时间日期表示方法,然后将结果由结构tm返回,结构tm的定义请参考grntime()

诊断函数

assert()函数是诊断函数,它的作用是测试一个表达式的值是否为false ,也就是0,并且在条件为false时终止程序,参数的表达式的结果是一个整型数据。assert()函数是在标准函数库<assert.h>头文件中定义的。
例如:
assert(A==B);
当A=B时,表达式结果为1,也就是ture;如果A不等于B,结果就是0,也就是false,然后可根据决定是否终止程序。当程序出现异常时,可以使用abort()函数以非正常方式立即结束应用程序。

命令行参数

int main(int argc ,char *argv[])
这是main函数的一个通常的写法,其中第一个参数,argc是英文argument counter的简写,表示传递给main函数有多少个参数,第二个参数argv[]以字符串数组的形式接受真正的参数。
在这里插入图片描述

其他函数

1.exit()函数:表示结束程序,它的返回值将被忽略。它的头文件是"stdlib.h"
原型:void exit(int retval);
2.qsort()函数:包含在头文件"stdlib.h"中,此函数根据给出的比较条件快速排序,通过指针移动实现排序。排序之后的结果仍然放在原数组中。使用qsort()函数必须自己写一个比较函数。
原型:void qsort(void *base ,int n ,int size , int (*fcmp)(const void * , const void *));

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

GZFSJK

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值