C++ это Си с объектами (ООП). С# - это С++++, но от майкрософт. Т.е все есть, прекрасный язык, но от майкрософт (Я намекаю на привязанность к Windows). Я рекомендую учить С++, на нем написано много чего, например, Винда. Если придеться знать Си, то переход не составит особого труда, конечно, если вы не зависимы от ООП. С моего опыта, переходить с C# на Си/С++ - это морока. А вот наоборот - легкотня. Также на Си написана Unix, а от этого и Linux с MacOS (*nix системы)
Короче, учи С++, вроде Си, но кажеться легче.
Вот примерный материал: ravesli.com