Not really, otherwise even the standard library would not exist, and we would manually ask pages to the kernel every time we want memory.
C, as a language, is indeed low level, but that does not mean that programs and libraries shouldn't build abstractions on top of the low level interface.