The eternal debate:
One answer is, it doesn't really matter which language you choose to learn - your aim isn't to learn a particular syntax but rather the underlying principles that are universal to programming.
To that end, start with a language that gets you past the syntax as quickly as possible so you can learn the principles. MIT used to start you with Scheme, now it's Python. So anyway, out of your choices, my vote would be C first. If you know C along with some data structures then you can really appreciate the difference between a vector and a list, and the impact of choosing one over the other.
On the other hand, if you just want to learn an industrial skill, just pick one.
The Perils of JavaSchools - Joel on Software
I noticed that no one has been asking what the OP what they want to program...
Microprocessors, Windows Applications, Android Apps, iPhone Apps, Linux, ?...
What do you want to program?
I would like to program games and iphone apps. What steps do u think I should follow to be a competitive game programmer ?
Originally Posted by Click_here
Exactly! I wanna know what I am doing.
Originally Posted by Tclausex
Games come with graphics. C++ is a very good tool for graphics ;)
I believe Objective-C is what you want for iPhone (and Cocoa and the Apple APIs and probably some OpenGL).
C++ for games
Objective-c for iPhone
If I were you, I'd start at C++