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号