c_kaoyan

149 阅读1分钟

浮点数常量

精度丢失

flaot精度是小数点后6-7位,double精度位小数点后15-16位,long double为18-19位

浮点数判断是否相等

浮点数判断相等不能用==来判断,因为浮点数存储用的是近似存储,例如判断f和x是否相等
if(f-x>-1e-7 && f-x<1e-7)

字符型常量(char)

字符常量赋值用单引号,只能赋单个字符比如a不能赋字符串
若赋值为a想要打印A只需在printf里面在打印的后面加上-32

\n就是换行
\r代表回到行首,并且会直接覆盖,不会把原来的第一位挤到第二位而是直接覆盖
打印\需要输入\两个斜杠,否则打不出来
\b效果是退格
\0是空字符也可以直接赋0 ASCII表.jpg

字符串

字符串常量赋值不能通过char,c没有定义字符串常量的关键字,复制必须用' '单引号,双引号是非法的,例如
char x = "bye";

先运算后赋值 ,例如

int main()
{
	int i = 5;
	float f = i / 2;
	printf("f=%f\n",f);
	return 0;
}

打印结果为2.00000
想让打印结果为2.5,可以强制类型转换,例如
float f = (float)i / 2

混合运算

image.png
按照这个图进行类型转换没有溢出