C is the lowest level programming language of them all but isn't OO, C++ is like an optimised version of C but is slightly higher level and is an OO language, C# is a high level language and also OO. C and C++ have a lot in common and can do the same sort of things, but C# doesn't share much in common despite the name and is a lot easier to learn, but slower and less powerful.
C and C++ are commonly used for writing whole operating systems, games, drivers etc... whereas C# is mainly used for smaller non-commercial applications because it's run time interpreted from byte-code to machine code rather than compiled.