Developed by Dennis Ritchie between 1969 and 1973, C was used to re-implement the UNIX operating system. Since then it has become one of the most widely used programming languages of all time. It is a general purpose, imperative computer programming language, supporting structured programming, lexical variable scope and recursion. By design C, provides constructs that map efficiently to typical machine instructions and therefore it has found lasting use in applications that had formerly been coded in assembly language, including operating systems, as well as various application software for computers ranging from supercomputers to embedded systems.
It was designed with a bias toward system programming and embedded, resource-constrained and large systems, with performance, efficiency and flexibility of use as its design highlights. C++ has also been found useful in many other contexts, with key strengths being software infrastructure and resource-constrained applications, including desktop applications, servers (e.g. e-commerce,web search or SQL servers), and performance-critical applications (e.g. telephone switches or space probes).
C++ was created as a superset of C with more potential and code handling abilities. The difference between C and C++ is one of the most common interview questions and a fundamental programming concept. You’re most likely to get confused between the 2 languages after learning them in-depth and realizing there’s many but minor differences between both.
Here’s an infographic stating the differences between C and C++: