Given the state of computer hardware in the past decade the C language certainly isn't as popular as it used to be. Many people began learning C before approaching C++ but it's difficult to learn a language like C when most modern languages use an object-oriented approach. C++ was built to be the successor of C, but like all modern languages, it needed to retain compatibility with C because of C's low-level access and minute footprint on the system. Java, for example, is a cross-platform language that allows java bytecode to run on any platform because it is interpreted by the platform's virtual machine. But the individual virtual machine versions (platform specific) are still implemented in C because they need to be able to compile Java bytecode at runtime to make the language fast and efficient.
C will always remain fast and efficient, but C++ achieves similar performance and it's doubtful that any modern language can replace these without removing their need in the new language's implementation.