how old are you?
If you're in High School, and your school has some sort of computer science classes, you should take those...
If you're in college, you should take some intro CS courses as electives.
Otherwise... um... well, it's pretty difficult to teach yourself about programming. It's kinda like trying to teach yourself algebra or calculus straight out of the book. You learn bad habits this way, and you don't always get a good explanation of how things work.
But, if you're going to start teaching yourself anything, perhaps you should start with Java: it's easy, takes care of the icky stuff for you, enforces good programming practices, and ... um ... yeah. Java is good for noobs.
Here's a good place to start, IMO.
http://www.georgetown.txed.net/facul...cstextbook.htm
that's the book we used when I was in high school. It's freely downloadable ... I believe that it's under creative commons or something similar. I'm not sure of the original source, but there's some other stuff that you might find useful on that page anyway. I hated the book personally because It assumes that you know nothing about programming, but since you know nothing about programming, I suspect that you might find it to be quite helpful :-D.
good luck,
-Brandon