浮点常量就是一种呈现有符号实数的十进制数字。有符号实数的呈现包括一个整数部分,一个小数部分,还有指数。可以使用浮点常量来呈现不可以被改变的浮点值。
语法
浮点数常量:
小数常量 指数部分 可选 浮点后缀 可选
数字序列 指数部分 浮点后缀 可选
小数常量:
数字序列 可选 . 数字序列
数字序列 .
指数部分:
e 符号 可选 数字序列
E 符号 可选 数字序列
符号 :任何一种
+ -
数字序列:
数字
数字序列 数字
浮点后缀 :任何一种
f l F L
你既可以忽略十进制小数点(值的整数部分)前面的数字也可以忽略十进制小数点(小数部分)后面的数字,但是不可以同时忽略两者。只有在你包括了一个指数的时候,你才可以省去十进制小数点。不允许空白字符分隔数字或者常量字符。
下例说明了一些浮点常量和表达式的构成:
15.75
1.575E1 /* = 15.75 */
1575e-2 /* = 15.75 */
-2.5e-3 /* = -0.0025 */
25E-4 /* = 0.0025 */
浮点常量是绝对的,除非它们以一个减号(-)作为开始。在这种情况下,减号被视为一元算术否定操作符。浮点常量的类型有 float,double,long,或者 long double。
没有 f,F,l,或者 L 后缀的浮点常量的类型就是 double。如果字母 f 或者 F 是后缀,那么该常量的类型就是 float。如果以字母 l 或者 L 作为后缀,那么它的类型就是 long double。例如:
100L /* 类型是 long double */
100F /* 类型是 float */
注意 Microsoft C 编译器会把 long double 类型映射成 double 类型。关于 double,float,还有 long 的类型信息,参考[基本类型存储]。
你可以忽略浮点常量的整数部分,如下范例所示。数字 .75 可以用许多方式来表示,包括:
.0075e2
0.075e1
.075e1
75e-2