Take everything Dijkstra writes with a grain of salt. Hes an extremist language bigot.
This is the same guy who absolutely refuses to use a GoTo even when a GoTo is the best tool for the job. He would have had a point if languages offered a flow control paradigm for every job.. but they don't.. and he has absolutely no point in regards to modern Basic designs which is actualy forgivable considering he wrote all that junk prior to modern Basic design.
As a C programmer, even though goto is available I have NEVER had to use it. If you find yourself in a position where goto is necessary when programming in a structured or object-oriented language, then you have made a serious error in you original algorithm, and probably need to redesign it.
I completely agree with him about BASIC; otherwise I would not have posted the quote. BASIC encourages programming practises which are... well, frankly, bad.
Just to stick my oar in one more time: The D&D book is entirely adequate if you like textbook-style books - it has more coloured boxes and checklists (and questions, if you like that sort of thing) than you can shake a stick at. It also rejoices in what seems like a billion different typefaces to illustrate the different parts of a program. This has the opposite effect of what's intended - making it harder to read the code than if it was unadorned.
Also, it's about twice as expensive as similar books (e.g. Stephen Kochan's book), twice as heavy, and only half of the book is actually about C - the rest of it being an entirely pointless excursion into C++ and Java. I can't imagine what sort of a person could expect to learn all that from one book. I would consider it if money was no object, or you can get it from a library.
To be honest though, I wouldn't bother with C at all (although I do agree it's probably a better choice for what the OP is wanting than C++).
Of course, I would never buy such a book; I borrow all my textual references from a library, including fictional time passers. I'm pretty tight-fisted though, being an unemployed university student. ^^ However, the section of the book I was reffering to (that is, the entire section of the book on C) is very useful.
It goes quite a bit further into linked lists, stacks, queues, etc than [SIZE=-1]Al Kelley and Ira Pohl's book, "A Book on C", although it covers bit fields in less detail. I recommend both books though, for anyone wishing to learn C. And I would recommend C over C++ from a purely experienced point of view; I simply prefer working in C. I can program in C, C++ and C#, and if object-orientation is required, I would definitely choose C# over C++. I do not like C++ at all, in case you haven't noticed. ^^
This is all personal preference though, but since C is my forte, I thought I'd point out that it would probably cover everything that he needs, and he'd pick up some good programming practices along the way (to make up for his exposure to BASIC
[/SIZE]