C++ is, as the name implies, a base of C with additional concepts (objects, mostly) - so learning C++ entails learning a very high percentage of C.

As mentioned, C# is a lot closer to Java than it is to almost any other C-like language.  Java has the advantage of being cross-platform.  C# has the advantage of tying into the massive .Net library.