C 浮点常量

“浮点常量”是表示带符号实数的十进制数字。 带符号实数的表现形式包括整数部分、小数部分和指数。 浮点常量用于表示不可更改的浮点值。

语法

floating-point-constant
fractional-constant exponent-partopt floating-suffixopt
digit-sequence exponent-part floating-suffixopt

fractional-constant
digit-sequenceopt . digit-sequence
 [.]

exponent-part
e signopt digit-sequence
E signopt digit-sequence

sign:以下项之一
+ -

digit-sequence
digit
digit-sequence digit

floating-suffix:以下项之一
f l F L

你可以省略小数点前面的数字(整数部分)或小数点后面的数字(小数部分),但不能同时省略。 仅在包括一个指数时可省略小数点。 空白字符不能分隔常量的数字或字符。

以下示例阐释了某些形式的浮点常量和表达式:

15.75
1.575E1   /* = 15.75   */
1575e-2   /* = 15.75   */
-2.5e-3   /* = -0.0025 */
25E-4     /* =  0.0025 */

浮点常量为正数,除非它们的前面有减号 (-)。 在这种情况下,减号将视为一元算术求反运算符。 浮点常量包括类型 floatdoublelong double

不带 fFlL 后缀的浮点常量类型为 double。 如果后缀是字母 fF,则常量的类型为 float。 如果后缀是字母 lL,则常量的类型为 long double。 例如:

10.0L  /* Has type long double  */
10.0   /* Has type double       */
10.0F  /* Has type float        */

Microsoft C 编译器在内部表示 long double,与 double 类型相同。 但其实类型是不同的。 若要了解类型 doublefloatlong double,请查看基本类型的存储

如下例所示,可以省略浮点常量的整数部分。 可通过多种方式表达数字 0.75,包括以下示例:

.0075e2
0.075e1
.075e1
75e-2

请参阅

C 常量