C is a fundamental general purpose, widely used, compiled programming language designed by Dennis Ritchie at Bell Labs. It can be compiled to a number of platforms. It includes small number of keywords and provides large number of mathematical operators. It can be learned very quickly however to dive in more depth and to fully understand it, a lot of programming practice is required.
A common ambiguity when starting with C programming is whether to start directly with C or maybe start with C++ or even something else, like objective C.
At the time of this writing, when first encountering the C waters it is probably better for many to start with C instead of C++.
C is also simpler to grasp, includes less core syntax features, and knowing it will help you further understand C++ in case you will want to dive deeper.
According to the C++ creator, Bjarne Stroustrup, C and C++ should be a single language with C being a subset of C++. However, due to the evolution history they are now two different languages.
C++ can run C code but manytimes a lot of refactoring is needed.
Few key differences between C and C++:
C language has started before the C++ and now has a huge install base and a lot of that software could be rewritten in C++ for reasons of making it more modern, attractive to new comers and extendable with features, that C++ is offering. However, when putting time, cost, and historic evolution into the perspective, many project maintainers will not migrate to a language like C++ for a long time, probably never. Therefore, knowing the C language is inevitable. When starting a new project, thinking of C++ and other options is definitely the way to go.