To answer the historical aspects of the question:
The design philosophy is explained in The C Programming Language written by Brian Kernighan and C designer Dennis Ritchie, the "K&R" you may have heard of. The preface to the first edition says
C is not a "very high level" language, nor a "big" one...
and the introduction says
C is a relatively "low level" language... C provides no operations to deal directly with composite objects such as character strings, sets, lists, or arrays. There are no operations that manipulate an entire array or string...
The list goes on for a while before the text continues:
Although the absence of some of these features may seem like a grave deficiency,... keeping the language down to modest size has real benefits.
(I'm quotingI only have the second edition from 1988. It contains "preface to, but the first edition" which I assume reproducescomment below indicates that the quoted text from 1978. It is possible the introduction was revisedsame in the 1978 first edition.)
So, yes, the terms "high level" and "low level" were in use at the time,So, yes, the terms "high level" and "low level" were in use back then, but C was designed to fall somewhere on the spectrum in between. It was possible to write code in C that was portable across hardware platforms, and that was the main criteria for whether a language was considered high level at the time. However, C lacked some features that were characteristic of high level languages, and this was a design decision in favor of simplicity.