I always recommend this book for beginners: Tricks of the Windows Game Programming Gurus by Andre' Lamothe. It will teach you 2d game programming coming from someone with 22+ years of experience. It also covers input, sound, AI, physics, etc. You can find it here with several reviews:
http://blog.markwshead.com/info2/Tri...-Edition).html
Once you're done, he has a second volume on 3d software rasterization. Software?! Yes, he believes if you're going to be a graphics programmer, you need to know how it works underneath. Who builds the graphics cards, etc.? But once you finish this book, going to any hardware accelerated graphics API (OpenGL, Direct3D) can be learned in a matter of two weeks. He is planning a third volume to cover hardware acceleration with a DOOM-like engine. Anyway, I believe it is a good educational series starting from the ground up. It's a little pricey, but it's the best book series ever in my opinion. If you can't complete this book, it's a good thing actually because you're glad you didn't try adding a third deminsion in the first place and ended up wasting your time.