Pick up some books, check out the myriad websites offering articles and tutorials, look for school classes, and code. (
Here's a good reference, and
here's another) When you first start, just make little throwaway practice programs for yourself, to test doing everything you're learning. "Today I'm going to write a program that passes a pointer to a struct to a function, modifies a member of the instance, and prints it to the screen." That kinda thing. It's what I did when I was first learning, atleast. No matter how you practice, you just want to make sure you do. Don't just skim through chapters in a book, because chances are you're not going to remember it later on.
If you're learning it for the sake of game development (the most common reason people pick up computer programming, no doubt), there's many sites focusing on programming in context of game design as well.
GameDev.net is one of the best of that kind.