I'm very interested in learning C before C++ but I can't find good books
The K&R book looked very organized and short but it seems it is very outdated.

So my two questions are..

Should I read the K&R book even thought it uses an old standard, if I do were can I read the differences between the c99 standard and the standard used in the K&R book?

Which books would you guys suggest me to start reading?

Recommended Answers

All 14 Replies

I think K&R is best book to read after learning basics of C,
I read BalaguruSwamy .. An indian author ..

Heard about this book but not read ..
C Programming: A Modern Approach by K. N. King

Check this

http://www.cprogramming.com/books/king.html

Thanks, I saw that book earlier but it is very old, that is why I'm having a hard time choosing a book, most of them are outdated and teach old standards

that is why I'm also trying to find documentation about the difference between c99 and older standards.

No idea about new books

But search for

Committee Draft — Septermber 7, 2007 ISO/IEC 9899:TC3

C is old. It does not change often. Once you learn the fundamentals, picking up what new standard brings is a few days' work. I recommend K&R to learn C. That's all you need. After that, you select the libraries (and functions to call within) to develop software. That's it. C supports just one paradigm, which is procedural. It does not come with a framework like .Net or J2SE. Because of these, it's actually easy to learn C but hard to develop (nontrivial) software with.

And I do not recommend using C to anyone intending to develop user-mode applications. Those days are long gone. Use Python, or Php, something you can easily leverage for web and with powerful standard libraries. C is no good for anything but low-level systems programming.

I agree with Ckoy ..
If want new updated things switch to power langs ;)

No idea about new books

But search for

Committee Draft — Septermber 7, 2007 ISO/IEC 9899:TC3

Thanks I will give it a look.

C is old. It does not change often. Once you learn the fundamentals, picking up what new standard brings is a few days' work. I recommend K&R to learn C. That's all you need. After that, you select the libraries (and functions to call within) to develop software. That's it. C supports just one paradigm, which is procedural. It does not come with a framework like .Net or J2SE. Because of these, it's actually easy to learn C but hard to develop (nontrivial) software with.

And I do not recommend using C to anyone intending to develop user-mode applications. Those days are long gone. Use Python, or Php, something you can easily leverage for web and with powerful standard libraries. C is no good for anything but low-level systems programming.

That is why I'm learning Perl

Thanks I will give it a look.

[...]

That is why I'm learning Perl

Good choice, on both counts

p.s. I also recommend K&R, but I'm not sure what other books would be advisable. Most of my knowledge comes from lurking in comp.lang.c

Try Yashwant P kanetkar
Let us C

Try Yashwant P kanetkar
Let us C

I've heard about this one before, but never looked it up until today. The 5th edition I found online was riddled with problems, not only grammatical errors (which are merely distracting) but careless mistakes. Notably, every single example relies on implicit int for main(), which was made illegal in C99. Furthermore, the author carelessly mixes compiler extensions with standard library features, refuses to prototype functions or declare their return types, goes into detail about implementation-defined things like structure padding and type ranges, and just generally does a shoddy job.

It's a shame it's so popular. It's as bad as Schildt, or nearly so.

it doesnt matter if one starts avoiding books in this way
then one will be left with no choice to choose from
everything has its cons & pros

I agree with hsetaknev ..

Take the good part from everything ..

My favorite for c is

Computer Science
A structured programing approach Using C
Behrouz A.Forouzan & Richard F.Gilberg
right now I'm using the 3rd edition.

I agree with hsetaknev ..

Take the good part from everything ..

Problem being, that unless you have prior experience, you have no idea what the good parts are. That is why it's important to get feedback about the resources you use from people who know. I gave my opinion of the book; I can't force you (rhetorical "you" here) not to use it, but I hope you'll take my comments into consideration when learning from it, and select a wide variety of other sources so you truly understand the issues involved.

Not only that, but the OP expressed explicit interest in learning a recent version of the C standard that the book in question definitely does not cover.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.