Difference between the languages: Best way to answer this is to tell you the similarities.... They all use {} for blocks and ; to end lines of code. That is pretty much what belonging to the C family means, you use those characters and have a vaguely similar syntax to C.
In terms of which to use, what do you want to code?
User interface applications on windows only: C# (which doesn't have any other names as far as I am aware).
General coding: C++
time-critical, realtime or non-PC programming: C
Of course you could use C for general programming, you can use C for windows UI programs as well. Those are just general guidelines for where those languages excel.
Learn all three? Not really necessary, but you can if you want. Just make sure you learn them properly and don't try to apply C principles to C++ code and vice versa. Each language has a different way to approach problems that you need to consider, or else you'll learn bad habits, which is not constructive learning.
In terms of learning them, from experience C# has the shortest learning curve. Get visual studio, and you could be making windows applications in an afternoon. Spend a bit of time learning how to use the documentation on msdn effectively and you'll be able to write full programs within a week or two. C++ takes the longest (in my opinion anyway) as it is a far more complex language than C, however, it is far more powerful. C is easy if you understand computing at a low level.
Books are recommended for all, but not as necessary for C# as the visual studio is brilliant and .NET is very well documented. Books mean you get taught the basics properly. Teach yourself from online sources and you get all sorts of opinions and stuff that mean you code badly, or not idiomatically for that language. Books also mean you don't get lost, as there is only one reference point. Non-english books should be available for all three. The best books will probably have translations I guess. There is a thread at the top of developer chat on C(++) books and sites.
In conclusion: Pick one based on requirements, get a good book, get a good ide, program lots then post it on some forum with some old timers who will gladly tell you how crap your code is (because it will be to begin with).
And we were all noobs at some point. Just remember to accidentally delete old projects every now and then so you don't have to remember just how bad you were.