Ok, some clarifications from someone that has been developing C, C++, C# for many years (started with C in 1973). C/C++/C# are slightly different languages but they all start from C. C++ enhanced C by adding support for classes and objects native to the syntax of the language itself. You can take C code, put it into a CPP file and it will still compile. Some additional libraries were developed by third parties for C++ (e.g., standard template) but these are not part of the native language.
C# is a new iteration of the C language, from C++ developed by MS explicitly for the purpose of providing support of the .NET platform. It enhanced C/C++ by adding connection for CLR in .NET, adding data types, etc. It also got rid of the separate .h/CPP pairs.
C++ is more challenging over the languages you mentioned because of the OO flavour. C#, for people w/o C or C++ can more more challenging because of the OO but also primarily because of the extensive additions brought in by the .NET support. Note: C# is a .NET only environment.
Also, managed or unmanaged code is only meaningful when you talk about .NET languages as it talks about code that is not reliant on the CLR and loses some of the features like garbage collection.
Now, which should you start with? If you just want console applications and perhaps some Windows. I would strongly suggest starting with C++ what you learn there will help you go in either direction (C or C#) and it is very important to learn OO development. For windows development take a look at MFC as it will give you a stepping stone understanding for C#. What you learn in C++ would help you understand JAVA also.
If you are only going to do Windows, ASP.NET, etc. programming then go right to C#. The environment is much better and developing applications is a lot quicker. There is a great book from O'Reilly Press called Programming C# 3.0 which I find a good beginner's bible.
Hope that helps.