It really depends on how you see your career progressing. If you think that you'd like to work on shrink-wrapped software like Office, or on low-level software like an operating system, then yes, by all means, learn C and C++ first. But if you're looking for a job writing Line-of-Business software, which is probably where most entry-level jobs are available, something like C# is much more valuable.
There are thousands of significant difference between C/C++ and C#. But there are three big ones so far you're concerned:
(1) C# comes with a clean, reasonably easy-to-use object model, in the form of the .NET runtime (and its various Silverlight/WP7 brethren); C and C++ are platform and framework independent. To take just one example, this means that they don't have any defined way of doing string handling, and consequently, programmers over the years have thought up roughly 1000 ways of doing it, none of which are really compatible with the others. In contrast, if you want a string in C#, you just use the built-in Microsoft "String" class, and you're done. Yes, it's about 1% more limiting, but about 100x more convenient.
(2) C# generally doesn't make you think through the details of memory management. If you create an object, you don't usually need to worry about deleting the object to free up the memory it's using. In contrast, you'll spend a good chunk of your time in C or C++ trying to make sure that you delete your objects at the right time and in the right order. And if you make the slightest mistake, you're gonna pay for those mistakes with a nasty runtime crash.
(3) The MS C# compiler gives you pretty good error messages. Typical C and C++ compilers give you really amazingly crappy error messages. When I screw up a line of code in C#, the compiler will almost always give me a single error that says, "This is the line of code that you screwed up." If I do something similar in C or C++, the compiler will quite frequently give me a thousand different errors, none of which actually point to the line of code that I screwed up. You can draw your own conclusions about which environment is more productive for the average programmer :-).
The net result is that although C# is slightly slower than C or C++, and isn't quite as good for certain tasks (for instance, video codecs), you'll be about 10x more productive in it than in C or C++ for nearly every business level application you can think of.
I don't know that there's any one single way to learn to program, except that all of them include lots of programming. Some of the worst programmers I know have Ph.D.'s in computer science, and some of the best never graduated from high school. There's simply no one single way to do it. As other folks have suggested, a reasonable way to start would be to buy a couple of books, find a pet project that you'd like to implement (a website would be a good start), and start hacking away. You'll make a thousand mistakes, but the only unforgivable one would be to architect your second website the same way you did you first. And move on from there.
As for other languages: Java is much like C#, and learning one after you've learned the other should be pretty quick. These days, you should also pick up at least one "dynamic" language, such as Python, JavaScript or Ruby. (A dynamic language is, roughly, to C# what C# is to C: very expressive, working at a much higher level of abstraction, making you think a lot less about implementation details, but also tending to be slower, and possibly encouraging more bad habits.) You'll probably end up making your living doing one form of web development or another, and all three of those are important languages in that field these days. You'll almost certainly have to learn JavaScript at some point, but it's almost entirely a front-end language: almost nobody uses it to write back-end stuff.