@icedquinn @shrimp It's not a matter of power, it's a matter of control. You have include <string.h> and <math.h> because you are telling the compiler which strcmp and atan2 you are referring to.
Now I hear you say "but who would ever refer to different ones?" Me, in my current project. I'm using my own versions in order to not link against the CRT, among other reasons. And that's the difference between C and most other languages. You can do whatever you want, not just what the language designers thought of.
Besides, any significant project should have something like global.h with all the necessary standard includes, system or otherwise, which is included on the command line by the build system.