If you have enough balls to learn C from K&R, you could try learning C++ from Koenig & Moo's "Accelerated C++" instead. C++ contains everything in C, and has a lot of handy higher level constructs. You can deal with the specific idiosyncrasies of pure C later, but can get started quickly with C++. http://tinyurl.com/26cjz9
If you don't have any background in programming, or don't really know that you want to learn C or C++ specifically, I would recommend starting with Python. C++ is good if you know that you want to write systems software, or need to interface with C/C++ libraries. If you're just looking to learn to code, then learn Python. kyro said that he enjoyed learning from the free ebook "How to Think Like a Computer Scientist: Learning with Python". http://www.ibiblio.org/obp/thinkCSpy/
Hmmm, I definitely wouldn't recommend newbies learning C++. Every time I've tried to dig into C++, it's been a turn-off. K&R's great. C's great, and it's small enough to get your head around, but if you want to know a language like C++, yeah, definitely agreed about Python.
What's the trouble with C++? It seem to me that using the higher-level constructs of C++ is a lot friendlier than having to malloc and free things all over the place. You don't have to jump into C++ template metaprogramming. :-)
True, it's just that if you want those features of C++ you're better off jumping up to something modern: Python/C#/Java. Those languages (perhaps even Java) feel well-designed and friendly instead of like a hacked-on OOP addition to C.
I'm aware that C++ is not just a hack, but compared to modern designed-from-scratch languages, it does feel like one a lot of the time.
Ditto the recommendation on "How to Think..." ...a few years ago, I had no programming knowledge whatsoever, read about 1/3 of the book, and was already building useful stuff (to me, anyway).
What's your aim? If you've K&R are you trying to learn C? If you want to learn the Unix philosophy then get Kernighan and Pike's _The Unix Programming Environment_. If you want to create a web start-up, learn Python and Django. What skills do you already have?
Django is a reasonable enough one to learn. He hasn't the skills to examine the possible contenders and make a good decision himself. After learning Django, then he may be in a position to better appraise the competition.
Likewise, I didn't say "read a book on Unix" but gave a specific, worthy, contender. As a complete newcomer there's little more annoying than general hand-waving.
If he starts with Python, he may not know there's other languages. If he... If he starts with digital computers, he may not know there's analogue ones. :-)
Yes, yes.. But I hang out in #python.web on freenode, and you'd be surprised how many people I get who think that Django, or mod_python, or CGI is the only way to make Python webapps. Not the best way; the only way.
Not many people do cgi programming (especially with C) anymore, but it will teach you a lot about Linux and programming. You will have to get a working web server for one. Configuring Apache on Ubuntu should be a good learning experience. If you can also get a working database server such as PostgreSQL (my preference) or MySQL working with your website, you will know the basics for building a real web-based application.
Surely the next step is to contact some VC companies and ask for say, $10 million :-). This really is an open ended question! If you are about to start programming then there is no limit to the possibilities so you'd better pick a direction to go in that you will find interesting. Good luck.
Seriously, I do think that some hands-on useful development is the fastest track to become a master of your domain! :-)