I like O'Reilly's Practical C Programming. That's how I learned. I recommend starting on a PC, as there's enough to learn as it is. Get through the book and try some of the programming challenges to become comfortable with C.
Then, pick up an Arduino. It's a great way to get started with digital electronics, and micros in particular. The IDE is really simple, but awful once you get to projects of any substantial size. Use it until you start running into its limitations, then learn to use Atmel Studio instead.
By that point, you're no longer a noob, just an inexperienced embedded developer. So follow your whims and practice practice practice. Branch out to other vendors and platforms as you feel inclined to do so. The rest of the journey isn't in a book, it just takes time.