44100 and 1000 are of type int. Therefore an int divide is performed, which does not have a decimal component. This int result is assinged to quotient, which is a float.
The correct implementation is: float quotient = 44100F / 1000F;
44.1 is of type double. So it already has a floating point component, but it's wider than a float, so your compiler should warn you about loss of precision.
kbw, thanks for your rapid and enlightening response.
With my version of g++, "44100F / 1000F" gives, " error: invalid suffix 'F' on integer constant," but your clarification regarding the way that C++ handles division inspired me to try: