C Floating-Point 常量

“浮点常量”是表示有符号实数的十进制数。 有符号实数的表示形式包括整数部分、小数部分和指数。 使用浮点常量来表示无法更改的浮点值。

语法

floating-point-constant:
fractional-constant exponent-part 选择floating-suffix选择
digit-sequence exponent-part floating-suffix 选择

fractional-constant:
digit-sequence optdigit-sequence
digit-sequence .

exponent-part:
esign选择digit-sequence
Esign选择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。 如果后缀为字母 l ,或 L具有类型 long double。 例如:

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

Microsoft C 编译器在内部表示 long double 与类型 double相同。 但是,这些类型是不同的。 有关类型double的信息,请参阅基本类型的存储float以及long double

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

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

另请参阅

C 常量