C is middle level language why? how can you say that it intreact with hardware
It can interact with hardware but that does not mean it is a low level language.
A low level language is something like Assembler. This works directly with the hardware and is generally hardware specific. C abstracts many hardware-specific elements and is portable, but does not distance itself from the hardware as higher level languages like SQL and COBOL do.