C 浮点常量

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

语法

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

fractional-constant
   digit-sequenceopt . digit-sequence
   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

浮点常量没有 fFl,或者 L 后缀类型为 double。 如果后缀是字母 fF,则该常量类型为 float。 如果后缀是字母 lL,则该常量类型为 long double。 例如:

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

请注意,与 double 类型相同,Microsoft C 编译器在内部表示 long double。 请参阅基本类型的存储,了解有关类型 doublefloatlong double 的信息。

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

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

另请参阅

C 常量