Это невозможно толково объяснить. Чтоб разобраться, надо знать эти языки. Или хотя бы знать несколько других языков, чтоб было с чем сравнивать.
С и С++ почти полностью совместимы (т. е. в программе на C++ можно писать как на Си).
C# больше похож на Java, чем на C++. C# создан как альтернатива Java.
C++ очень замороченный язык. C# проще и удобней. Но программа на C++ потребляет меньше памяти и быстрее выполняется.
C++ он как C, но появились классы. То есть компилятор C++ зачастую может скомпилировать код написанный на C.
C# - это уже совсем другой язык, можно сказать более продвинутый.