C is called middle-level programming as a programmer can write programs in both high and low-level languages.
C is called middle-level language because it actually binds the gap between a machine-level language and high-level languages. A user can use c language to do System Programming (for writing operating system) as well as Application Programming (for generating menu-driven customer billing system)