C, C++ und C# gehören zu einer Programmiersprachenfamilie.
C ist CPU-nah und der Syntax sehr kompakt, der Programmierer kann aber leicht Fehler (keine Typprüfung) machen.
C++ ist vom Syntax erweitert ist strenger (Typprüfung) des weiten objektorientiert, d.h. Klassen, Objekte und Vererbung. Geeignet für große Teamprojekte. Zum Beispiel Betriebssysteme und Schachprogramme.
C# ist die Antwort von MS auf Java. Sie sind mit einer entsprechender Laufzeitumgebung auf allen System einsetzbar. Beide sind Internetsprachen.
In C++ kann man wie in C programmieren. Umgekehrt geht das nicht.
C# hat wie Java einen Just in time Compiler und verwendet Zwischencode.
Speicheranforderungen und -Freigabe werden automatisch mit eine Garbage Collection im Hintergrund vorgenommen.
C# und C++ sind verwandte Programmiersprachen. In C# kann man C-Routinen einpflegen und aufrufen.
C# hat von der Performance gegenüber C++ gut aufgeholt.
Die Programmiersprachen lassen sich in Projekten gemischt anwenden, auch mit Assembler.