why learn c++ first> i mean its only a branch of c.I see it as the other way around. C can only do a subset of what C++ can do - so C is a minor branch of C++.
C++ is based on the C language, with the features of OOP as the most important difference.
There's no reason to learn C++ if you just wanna program controllers and C is easier to learn, since it is in itself simpler.
You can even use BASIC, in one of the controller oriented flavours (and get around the ugliness of any kind of C), much quicker to learn if you only plan to program a few controllers in a lifetime.