More correctly it will look for an object named false or NULL which of course could be anything.

Things can be doubtful only if you don't look at it in context.

Code:
while ( !IamATrueReturingFunction() );
Now this might look like it would never go into the loop but if the function was actually
Code:
int IamATrueReturingFunction(void){return 0;}
then it becomes a theoritical infinate loop.