Da handelt es sich um eine implizite Festlegung des Typs.

5 ist int, 5.0 ist float.

Eine Division durch einen int-Wert ergibt einen int-Wert, bei einer Division durch einen float-Wert kommt halt ein float-Wert raus.

Ist doch klar, oder?