Хочу выучить программирование, и тут очень много разных С так чем же они отличаются от друг друга, и если я умею программировать на одном из них, то я смогу программировать и на другом?
> если я умею программировать на одном из них, то я смогу программировать и на другом?
Нет, это разные языки. C++ можно считать расширением языка Си. На C++ можно писать как на Си, но так делать не принято.
C# по синтаксису похож на C++, но отличий очень много. C# концептуально похож на Java, но лучше продуман, он мощнее и удобней.
С - очень лёгкий (не в плане обучения, а по ресурсам). Синтаксис процедурный
С++ -совсем чуть-чуть ресурсоёмче, но гораздо больше возможностей. Синтаксис какой хочешь
С# - жирабасина, которую сделал микрософт для своих продуктов, вероятно, чтобы повы#бываться. Раньше, году в 2008, был популярнее С++ из-за наличия огромной стандартной библиотеки, однако сейчас С++ ОЧЕНЬ сильно расширили и в его std практически столько возможностей, сколько в С#. Синтаксис ООПешный, как в жабе, что сильно растягивает код