2021寒假专题4
在接下来的几个专题里面会介绍C语言库函数
断点、字符分类、错误号、数值范围、本地化、常用数学函数
include <assert.h>
#include <stdio.h>
#include <math.h>
#include <limits.h>
<assert.h>断言
assert(条件) 动态检查,条件不成立,打印错误信息,同时终止程序
int main()
{
//判断除数会不会为0;
int a=3,b=6;
assert(a!=0);
printf("%d",b/a);
//_Static_assert (sizeof(long)==8,"sizeof long must be 8");
}
include <ctype.h>字符分类
#include <stdio.h>
int main()
{
//isalnum判断字符变量是否为数字或字母(大小写)
//isalpha判断字符是否为字母(大小写)
//islower判断字符是否为小写字母
//isupper判断字符是否为大写字母
//isdigit判断字符是否为数字(个位数字)
//isspace判断字符是否是空格 ???
//isblack(C99)???
//isctrl ASCII码从0到31都是控制字符
//ispritf ASCII码从32到126都是可打印字符
if(isblack(' ')) printf("I love you\n");
//tolower大写转小写 直接返回字符
//toupper小写转大写
printf("%c",toupper('a'));
}
include <errno.h>错误号
#include <stdio.h>
#include <math.h>
int main()
{
errno=0;//初始化erron
//EDOM检查函数是否超过了定义域
//ERANGE检查函数是否超出了范围
int a=sqrt(-1.2);
if(errno==EDOM) printf("dd\n");
int b=log(0.0);
if(errno==ERANGE) printf("ee");
}
include <limits.h>数值范围
#include <stdio.h>
int main()
{
//CHAR_BIT char的比特数
//MB_LEN_MAX 数值为5
//CHAR_MIN 数值为-128
//CHAR_MAX 数值为127
//SCHAR_MIN signed char最小值-128
//SHRT_MIN short的最小值
//INT_MIN int的最小值
//LONG_MIN long的最小值
//LLONG_MIN long long的最小值
//SCHAR_MAX signed char 最大值127
//SHRT_MAX short的最大值
//INT_MAX int的最大值
//LONG_MAX long的最大值
//LLONG_MAX long long的最大值
printf("%d",SCHAR_MAX);
}
include <locale.h>//本地化 有待进一步学习
#include <stdio.h>
int main()
{
//日期和时间改成中文
printf(setlocale(LC_ALL,NULL));
char *s=setlocale(LC_ALL,"chs");
printf(s);
}
include <math.h>//含有常用的数学函数
#include <stdio.h>
#include <stdlib.h>//含有常用的数学函数
int main()
{
//abs 绝对值函数 短整型 对单双精度浮点数会产生误差,不采用 int abs(int)
//labs long类型取绝对值 llabs long long类型取绝对值
//float a=3.6;
//printf("%d",abs(a));
//div 整数除法 商 余数
//div_t temp;//声明这种数据类型
//temp=div(10,3);
//printf("%d %d",temp.quot,temp.rem); //前者是商,后者是余数
//imaxabs imaxdiv C99,对很大的数使用
//以上在stdlib.h的头里面
//以下在math.h的头里面
//fabs浮点数取绝对值 double fabs(double)
//fmod浮点数除法运算余数 double fmod(double,double)
//printf("%f",fabsf(-2.3));
//printf("%lf",fmod(3.3,2.110));
//fmax 两个浮点数,返回一个较大的浮点数
//fmin 两个浮点数,返回一个较小的浮点数
//printf("%f",fmin(3.2,9.8));
//exp指数函数exp(整数或者小数)以e为底数的指数
//expl,expf
//printf("%lf\n",exp(1.9));
//printf("%lf\n",exp(2));
//printf("%lf\n",expf(1.9));
//exp2 以2为底数的指数,返回浮点数,不能乱写exp3
//printf("%lf",exp2(2.9));
//log 以e为底取对数
//printf("%f",log(2.71828));
//log10 以10为底的对数
//printf("%f",log10(10.9));
//log2 以2为底数的对数
//printf("%f",log2(2));
//pow 计算一个数的给定次幂 double pow(double double)
//sqrt 计算一个数的平方根 double sqrt(double)
//cbrt 计算一个数的立方根
//printf("%f",cbrt(9.4));
//sin cos tan asin(double) acos atan三角(弧度)与反三角函数
//printf("%f",asin(1));
//(double)ceil(double) (double)floor(double)
//trunc 取值到绝对值不大于给定值的最接近整数(小数截取)
//printf("%f",trunc(-32.23));
//round(四舍五入)
//printf("%f",round(4.4));
//modf将一个数拆成小数和整数
//(double) modf(double *double);
double param,fractpart, intpart;
param=3.1415;
fractpart=modf(param,&intpart);
printf("%f %f %f",param,fractpart,intpart);
//无穷大的表示 INFINITY
}

浙公网安备 33010602011771号