The C language has three mandatory real ﬂoating point types, float, double, and long double.
float f = 0.314f; /* suffix f or F denotes type float */
double d = 0.314; /* no suffix denotes double */
long double ld = 0.314l; /* suffix l or L denotes long double */
/* the different parts of a floating point definition are optional */
double x = 1.; /* valid, fractional part is optional */
double y = .1; /* valid, whole-number part is optional */
/* they can also defined in scientific notation */
double sd = 1.2e3; /* decimal fraction 1.2 is scaled by 10^3, that is 1200.0 */
The header <float.h> deﬁnes various limits for ﬂoating point operations.
Floating point arithmetic is implementation deﬁned. However, most modern platforms (arm, x86, x86_64, MIPS) use IEEE 754 ﬂoating point operations.
C also has three optional complex ﬂoating point types that are derived from the above.