I'm not really sure if you need or even want to go in the direction of C/C++ to learn how to build side-scrolling games.
Don't get me wrong: I think those languages are crucial for anyone interested in game development (on an industry scale) -- and, as a general purpose language that offers a lot of flexibility, it's been my go-to language for the majority of my work in College thus far. But it's also fairly complicated, and can be tough to learn without some guidance. If you have friends who're good at programming, or are taking classes, C/C++ might be a good choice. However, if you're purely a hobbyist who's interests lie fundamentally in 2D games, then maybe consider something like C# with XNA -- there's a large and seemingly friendly community out there to help new-to-programming enthusiast game designers get started, and a lot of the nitty gritties are abstracted away from you.
I hate giving out advice when it comes to this kind of thing, because when I made my first 2D game I used C++ and the SDL, and so it seems like my advice is completely backwards to what I did -- but the primary difference is, I'm in CS in school, and I like having to deal with things that most people simply interested in getting their game on the screen don't.
As for tutorials/reference material, first pick a language (but again, don't pick one arbitrarily -- do a little research) and then buy a book to get you started. Don't overestimate your abilities; just because a programming book says "beginner" on it doesn't necessarily make it easy on one. Don't buy a book on "game programming" -- they're not for beginners, and -- from what I've seen of some of them -- they really don't tackle the science or languages sufficiently.
I started with Dietel and Dietel books. Look them up -- they're available for just about any generic programming language out there, and they're actually very comprehensive. The latest editions, if I recall, do get into game programming -- but that's a little down the road. These books are good because they start off assuming you know very little or absolutely nothing about programming; you work through just about everything, though don't expect an exaustive treatment about data structures/algorithms, as the book is designed to introduce these things. My edition is older and as such doesn't go into how to write games, but I definately assure you that if you went through an entire C# or C++ book by Dietel and then downloaded something like XNA or SDL, you could get started writing 2D games right away with a *little* research.
It can't be said enough, but if you really want to "learn to program", as books will claim they can do for you (or any material which has a price tag), you absolutely have to program. It takes time, nomatter what language or reference material you will use, and it requires you to work towards it slowly. If you're a hobbyist, I recommend against languages which will take you a long time to reach your goal, but if you plan to continue forth with it and make more and more complicated games, then perhaps that recommendation would indeed be something that gets you closer to the bits.
Good luck.
Links:
C# How To Program:
Here
C++ How To Program:
Here
Also, note that these books are very expensive. They're big. Very big. And very good -- but they're never "too much information"; work chapter by chapter, do some of the assignments at the end of each chapter,
write code, and you will learn. Nobody said hobbies weren't expensive.