Allora ti rispondo io

il C è il linguaggio di base, non ha integrazione con gli oggetti, non puo fare quindi overloading, override, e roba del genere

il C++ è il linguaggio attualmente piu utilizzato e ha piena integrazione con l'OOP (Object Oriented Programming) ed è il linguaggio piu completo che conosca.

Il C# è un linguaggio interpretato per la nuova piattaforma .NET (o DOTNET come preferisci) sempre orientato agli oggetti (OOP) . Le limitazioni sono date dal fatto che il codice viene eseguito da una specie di Virtual Machine (Copiata dal Java) e quindi ne risente per quanto riguarda le prestazioni.

Il Visual C è la versione Microzozz del C, creato e orientato per gli oggetti è uno dei tool piu usati e piu potenti per la creazione di applicazioni Windows.