As both programmer and journalist, I can guess what happened behind the scenes. The author probably originally put in the newline into his headline but was overruled by the editor who felt that it would have distracted too many non-technical people. You and I see the correctness of the \n but a non-programmer will just see it as strange noise or punctuation.
He allowed him the C statement but kept it simplified - a good compromise I think.
Quite surprising, though, at least as Wikipedia claims¹, this (except for the lack of "\n") was the exact "hello world" code from the first edition of K&R.
Yes, it flushes completely outputting all characters. None of which contain a newline.
Flushing doesn't automatically add newlines for you in C. It flushes the buffers you gave it, it doesn't make new stuff up to print out along with your buffers.
(Right, I didn't mean to suggest it added a newline; just that adding a newline flushes the buffer, which was one half of the problem with missing a newline—but that if this is the only line of the program, this half of the problem is obviated.)