The float data type in C is used to store single-precision floating-point numbers, typically occupying 4 bytes of memory. Double-precision floating-point numbers provide higher precision compared to single precision, typically occupying 8 bytes in memory. Long double is used to store extended-precision floating-point numbers in C. It offers even higher precision than double precision, often using 10 or more bytes in memory.