浮点型顾名思义就是小数点后还有数的,小数点数还有数的是什么?是小数,那么,小数在c语言中怎么定义,输出和输入
浮点型的关键字有:double和float。
首先他是这样定义的:关键字 + 变量名 = 一个值.如下:
float a = 12.12;//关键字为float
double b = 18.18;//关键字为double
他们怎么输出? 像整形有"%d"输出,无符号的整形有"%u"输出。那么double和float又是怎么输出? float使用格式输出"%f" double就使用"%lf". 千万别写错了,要不然会报错。
float a = 12.12f;//浮点型1.关键字float
double b = 15.15;//浮点型2.关键字double
printf("float:%f,double:%lf",a,b);//使用printf输出,输出使用格式输出"%f"和"%lf"
有的同学就会问了:"老湿老湿,说了这么多,我到底用哪个啊!!!"。现在,我们就讲他们的异同点,和使用哪个。
float:他的内存大小为4字节,和int一样,我们使用sizeof(变量名/变量类型)得到他的大小。他能表示的范围分整数和负数。整数为:1.17549e-038 ~ 3.40282e+038.负数为:-3.40282e+038 ~ -1.17549e-038 。他的有效数位为7,什么意思呢?就是他能表示小数的范围为小数学后7位。他和double有一个区别,就是赋值的时候要在赋值的值上加上"F/f"以辨认是double还是float,当然double就不用。
double:他的内存大小为4字节,比int大了一圈。我们使用sizeof(变量名/变量类型)得到他的大小。他可以表示的有效范围也分为整数和负数:整数为?+2.2250738585072014e-308 ~ +1.7976931348623158ee+308。负数为-1.79769e+308 ~ -2.22507e-308 ,几乎说是用无限大了。他的有效精度为16位,意思说他能表示的范围为小数点后16位。
然后我们看输入输出:
使用printf,格式输出%f,和%lf.
double a = 12.12;
float b = 12.23;
printf("%f,%lf",a,b);
如果你想要只打印小数点后一位,那么就这样:像double"%+要显示小数点后面的几个个数"。如:你想输出小数点后面的一位:(就在%后面lf前面加要显示的个数)
double a = 12.23456;
printf("%1lf",a);
输入:
使用scanf_s/scanf函数
double a = 12;
scanf_s("%lf",&a);
使用格式输入%lf/%f输入,然后变量需要取地址。
总结scanf/scanf_s:要输入的变量一定要取地址"&",格式输入一定要对应上。? ? ? ? 其他就没什么说了。
|