BUY THIS BOOK
Add to Cart

Print Book $34.95


Safari Books Online

What is this?

Add to UK Cart

Print Book £24.95

What is this?

Looking to Reprint this content?

Practical C Programming, Third Edition

By Steve Oualline
August 1997
Pages: 454
ISBN 10: 1-56592-306-5 | ISBN 13: 9781565923065
starstarstarstarstar (Average of 15 Customer Reviews)

Buy 2 Get 1 Free Free ShippingGuarantee

Description

Practical C Programming teaches you not only the mechanics of programming, but also how to create programs that are easy to read, maintain, and debug. This third edition introduces popular Integrated Development Environments on Windows systems, as well as UNIX programming utilities, and features a large statistics-generating program to pull together the concepts and features in the language.
Full Description

There are lots of introductory C books, but this is the first one that has the no-nonsense, practical approach that has made Nutshell Handbooks(R) famous. C programming is more than just getting the syntax right. Style and debugging also play a tremendous part in creating programs that run well and are easy to maintain. This book teaches you not only the mechanics of programming, but also describes how to create programs that are easy to read, debug, and update. Practical rules are stressed. For example, there are fifteen precedence rules in C (&& comes before || comes before ?:). The practical programmer reduces these to two:
  • Multiplication and division come before addition and subtraction.
Contrary to popular belief, most programmers do not spend most of their time creating code. Most of their time is spent modifying someone else's code. This books shows you how to avoid the all-too-common obfuscated uses of C (and also to recognize these uses when you encounter them in existing programs) and thereby to leave code that the programmer responsible for maintenance does not have to struggle with. Electronic Archaeology, the art of going through someone else's code, is described. This third edition introduces popular Integrated Development Environments on Windows systems, as well as UNIX programming utilities, and features a large statistics-generating program to pull together the concepts and features in the language.



Featured customer reviews

Write a Review


Riddled with bad programming examples,  September 20 2006
Rating: StarStarStarStarStar
Submitted by Mike   [Respond | View]

For a book supposedly aimed at novice C programmers, this book sets a very bad example. I've only flicked through the pages in a library, however every single piece of example code I looked at had at least some element of poor programming style, and in some cases were actually wrong.

A couple of examples: the
while
construct is almost always used in this book as an infinite loop with a
break</break> clause buried in the middle. In almost all of the cases, a simple re-write would have made the code both shorter and easier to read, and would have placed the condition obviously inside the 
while
where professional programmers would expect to find it. Another example is in a piece of code called "good.c" which is supposed to show the correct way to write code. This includes a number of un-initialised variables, a common source of bugs in real-world programs. There are even some code examples even contain obvious typographical errors and would cause any decent compiler to emit at least warnings if not errors.

Overall, this is not a book I could recommend to anyone, least of all a novice programmer.



Recommended book,  June 30 2006
Rating: StarStarStarStarStar
Submitted by duchuy   [Respond | View]

This book is perfect, especially when you had prior experience with other program languages like Java, etc.
I tried some other C books, like the one of K&R, and some other older stuff, which did not attract me as much as this book.
As the book stated earlier, this is a practical favours, and not it doesnot focus muchh on the concepts and definitions. Instead, it walks reader to explore the usage of C syntax and styles. It requires reader of having prior programming experience.
The main focus of the book was on the pointers, structs, preprocessors and file I/O handling.
I skipped some parts like Bit fields (chap 11), Floating points (chap 16). However, the chapters dedicated for practical knowledge and building small, real-life applications (chap 7, chap 15, chap 18, chap 20) didnot suffice and a bit hard to read. On the other hand, the old-C compilers is a bit helpless, since now it's hard to find 'ancient' C compiler and write program compatiable with them.
The author missed some things which in turn confused me: The file_format designing is quite trivial. Also, it was published in 1997, then a bit date so far, and I must take time to choose a nice IDE to develop C programs on this book (Dev-C++ is quite good).
Anyway, I enjoy the way the author mentioned and represented problems. Always, most exercises werenot too difficult. The definitions were well-depicted that aided reader in better understanding. This book also affected on the way I make comments and arrange programs.
After all, reading this book guided me to explore the C++ book of this author.


This book is not for the Beginner !,  September 16 2004
Rating: StarStarStarStarStar
Submitted by Mark Lemoine   [Respond | View]

This is my first C programming book and to be honest, I find this book to be difficult in its exercises.
Many of the exercises are vague and few express to the reader what the author is actually looking for.
I am a college student, who has wanted to throw this frustrating book on several occaisions and its usually after I have taken problems I have played with for an entire day ( or Days) to my instructor, and it takes him hours to figure out how to resolve the problems
In General I wouldn't recommend this book to anyone who didn't have previous experience with C programming. A lot of the problems I have dealt could have been solved with One little solution -- The Authors ansewers to the Authors Exercises.
I'm not lazy and I don't want you to give me anything but when you totally lose me I'd like an answer so I can see where I went astray.

Read all reviews


Practical C Programming, 3rd Edition Review,  February 28 2004
Rating: StarStarStarStarStar
Submitted by Munky   [Respond | View]

Reviewer: Munky

Website: http://www.usalug.org

The Book:

Practical C Programming

By Steve Oualline

451 pages

3rd Edition August 1997

ISBN: 1-56592-306-5

Book Link: http://www.oreilly.com/catalog/pcp3/

This book covers a great range of information on C programming. It can be read by programmers of any level of experience. I happen to know some C and am very comfortable with programming and found that the beginning few chapters really would have been helpful to me a few years back. The book starts with a detailed description of C and how it came to be, also an entire chapter is devoted to the novice programmer. It covers the simple topics of acquiring and installing a compiler. It also focuses on some key

programming concepts.

The next part of the book features a lengthy section on the style of C

programming. Once one understands the simple chapter, they move on to

actual C programming. The author begins speaking of declarations and

simple properties of C.

The rest of that part continues to build on the previous principles.

Everything in the book is cumulative and must be known in order to xontinue. The book continues to arrays, then loops, and then the actual

methods a programmer should take in developing programs.

The second part of the book is more advanced than the first. It contains

for, while and switch statements. As well as how to program C in a

structured manner. Finally the book concludes with advanced topics of

structures, pointers, file manipulation, and modular programming.

This book is an invaluable resource to the novice and advanced C programmer. I recommend it for all skill levels as both a learning aid and a reference guide. It deserves a nice place on my shelf next to the large group of O'Reilly books already there!


Practical C Programming, 3rd Edition Review,  October 16 2003
Rating: StarStarStarStarStar
Submitted by enrique monize   [Respond | View]

#include <stdio.h>

main()

{

printf("This is a C program\n");

}


Practical C Programming, 3rd Edition Review,  June 13 2003
Rating: StarStarStarStarStar
Submitted by William   [Respond | View]



This book is absolutely superb.

Oualline comprehensively details the C programming language and how to use it practically. Following the style and usage emphasized throughout this book will result in clear, robust, and (most importantly) buffer overflow-free code. If you are learning C, I wholeheartedly recommend this book, either instead of, or (at the very least) in addition to, the K&R.


Practical C Programming, 3rd Edition Review,  February 25 2003
Rating: StarStarStarStarStar
Submitted by Kenneth Wilcox   [Respond | View]

WHERE WAS THIS BOOK WHEN I WAS IN SCHOOL!!!! Back when I was in school we had a book from another publisher that seemed to make C more confusing than it should have been. Steve Oualline does an Excellent job of simplifying the explanation of a rather complex language. As scarry as this may sound, this book actually makes C sound like fun. I only have two gripes about this book. 1) It wasn't the text book I used in school. I know it's not directly O'Reilly's fault, I just hope other instructors read this book and evaluate it for their classes. 2) That some of the programming exercises are a little vague. The answers to them are not in the book or the companion web site so it could frustrate readers that would like to increase their skills, but are unsure of what the question is or how to solve it.


Practical C Programming, 3rd Edition Review,  December 28 2002
Rating: StarStarStarStarStar
Submitted by Jeff Pierquet   [Respond | View]

Practical C Programming was a nice surprise for me. It is the epitome of what I expect from an O'Reilly book. Steve Oualline's writing style is very clear, and makes for quick, easy reading, while covering all the bases of the language.

Where K&R might have spent two paragraphs and a skimpy example of a new concept, Oualline really explains the example. While the bit on pointers in K&R is heavy reading for those who don't know lower level languages, and plain confusing at worst, this book makes them easy, giving examples, tables, and illustrations that clarify actual their actual usages.

Having spent several weeks trying to get through K&R in my spare time as a beginner to C, it's refreshing to pick up a book twice it's size and read it in four days. The writing style is that good, and the clarity of the examples is as well. Throughout the author emphasizes good style, and shows it himself in his examples.

The bottom line is that it was not only a great book that made me feel very confident with C, but that was actually fun to read as well. I am glad that I found it when I did.


Practical C Programming, 3rd Edition Review,  December 27 2002
Rating: StarStarStarStarStar
Submitted by Kristy   [Respond | View]

A great book! Covers a lot, and is written in plain english that is easy to understand. Should include a quick reference though, but is highly recommended.




Practical C Programming, 3rd Edition Review,  December 27 2002
Rating: StarStarStarStarStar
Submitted by Kristy   [Respond | View]

A great book! Covers a lot, and is written in plain english that is easy to understand. Should include a quick reference though, but is highly recommended.




Practical C Programming, 3rd Edition Review,  December 01 2001
Rating: StarStarStarStarStar
Submitted by Cameron   [Respond | View]

My first O'Reilly book and so far, it's the best. This book is simply incredible (I don't own the camel book yet though... :)).

I think this book is wonderful for beginners. As for advanced programmers, I am not one myself so I can't comment on that. How other people have not liked this book is beyond me. The book is written in such a way that it's actually fun to read. Great examples, the book explains things in a way that you can understand. I've learned more about C from this book than I did in my semester of beginning C++.

I 100% recommend this book!




Practical C Programming, 3rd Edition Review,  November 30 2001
Rating: StarStarStarStarStar
Submitted by Jamin W. Collins   [Respond | View]

I recently purchased the 8/01 printing of this book. I did so after a quick scan of the book. My decision was heavily based on the fact that it's publish by O'Reilly, a company I had come to trust for accuracy.

The author is very clear in conveying the given topics, and for that alone the book is worth purchasing. However, the book is riddled with errors in the example code. In some cases the errors are intentional and corrected later. Other's have been reported to O'Reilly, but appear to have gone unchecked. The current errata page for this book is quite long and was last updated (8/15/01 as of this writing) during the same month as the printing I have. However, O'Reilly still has these glaring errors classified as unverified.

Overall the book has been a wonderful learning tool, but you must take the source with a hefty grain of salt, and make your first stop the errata page.


Practical C Programming, 3rd Edition Review,  May 31 2001
Rating: StarStarStarStarStar
Submitted by Srinivasa Rao Nalluri   [Respond | View]

This is the best book to refer for C programming and its a great effort from oreilly to bring a good book for C-programmers.I have many books of Oreilly in JAVA but this book gives more examples which will definitely useful.I hope oreilly will bring similar books particularly in C with latest concepts and internals of C-Programming


Practical C Programming, 3rd Edition Review,  December 29 2000
Rating: StarStarStarStarStar
Submitted by Charles Thompson   [Respond | View]

This is by far one of the best books I have I read pertaining to C. When I bought this book I was in a state of limbo where begining books where to basic and advanced books where over my head. I also found that I was able to recognize sytax rules and could help other beginning C programmers but I had never really writen any code that amounted to much. After reading this book I have done nothing but write code :). I also enjoyed the exercises, they where not to easy and at the same token not to difficult. I hope that Steve will write other books on other corners of C.


Practical C Programming, 3rd Edition Review,  June 21 2000
Rating: StarStarStarStarStar
Submitted by Geoff Ludwiczak   [Respond | View]

You can throw out every other book on C, this is the one book that made the ambiguities I faced when I was a neophyte go away. It takes a very real world approach to programming and explains everything concisely, clearly, and in a way that doesn't make you totally bored. I really liked how he stresses good style. Hell, he devoted a chapter to it, before you even start programming.


Practical C Programming, 3rd Edition Review,  March 14 2000
Submitted by Jon Wright   [Respond | View]



I come from a Fortran and Perl background so already know quite abit of programming. For someone who already programs but in a different language then this book is a great guide to getting started in C. However if you are new to programming then I feel you need to learn from another book instead. Saying that I found this book much more readable then than the Perl book and overall I think it is a very useful and am happy with the money I spent on it. I think the section on pointers need works thou.


Practical C Programming, 3rd Edition Review,  December 12 1999
Submitted by Patrick Conlon   [Respond | View]



I am fairly new to C and I find this book to be great thus far. I had previously read Perry's Absolute Beginner's Guide to C and while i learned a fair bit, it seemed more dumbed down than I needed it to be. Plus, I found that I really didn't know what to do with what I had learned and thus forgot alot of it rather quickly.

Practical C on the other hand has lots of exercises that are challenging for a person new at C, without ever being "oh, I give up" hard. He seems to have gotten some flak from folks for saying that certain programmers should be shot for their lack of coding style, but I personally found these occasional bits of humor shook me out of feeling in over my head and got me back to doing what I was supposed to be doing, learning C because it is fun.


Practical C Programming, 3rd Edition Review,  November 23 1999
Submitted by Arthur Watts   [Respond | View]



I was disappointed with this book. I have about 10 O'Reilly titles, mainly Perl-related, and I guess I expected more from an O'Reilly book. At over TWICE the US cover price, we pay a hefty premium for technical books in Australia, so I don't like to spend money on anything that I won't be able to use.
The author may suffer from a common problem among academics and other domain experts : knows the subject intimately, but is unable to adequately impart said knowledge. Reading the other reviews on this page makes me realize that different people view the same material in quite different ways. If only all the O'Reilly books were up to the standard of those written by people like Christiansen, Schwartz and Srinivasan ...


Practical C Programming, 3rd Edition Review,  November 17 1999
Submitted by Ed Bayley   [Respond | View]



A very nice book. Does a great job, both as a tutorial and reference guide, although I suspect beginners (like me) will find it more useful than advanced users of 'C'. Although new to 'C', I do have experience in other programming languages, and appreciate the way the author has made every effort to encourage commenting and the use of clear (rather than clever) code. This is a point often overlooked, and is much more important than many people realise.


Practical C Programming, 3rd Edition Review,  October 21 1999
Submitted by Jack Lloyd   [Respond | View]



I was looking for a good C book to cover the basics (I'm a fairly advanced C++ programmer and wanted a book that would cover a lot of practical ground, what to do and not do in C, design issues, etc). Since O'Reilly has some of the best practical programming books around: Programmming Perl, Learning Perl, Programming Python, Learning bash, etc, etc, I naturally picked up Practial C Programming. I was totally disapointed. The only other C book I had/have read is Mastering Standard C, by Rex Jaeschke, and by comparison Mastering Standard C is far, far superior. I haven't read K&R (yet!) so I won't compare one way or another there. In any case, I would recommend this book to neither a beginner (too confusing and lots of bad sugesstions, IMO) nor an expert (nothing to give). However, I will readily admit that what works for one person will not for another, and this sort of thing is _very_ subjective.


Practical C Programming, 3rd Edition Review,  September 27 1999
Submitted by Lesley Pike   [Respond | View]



I have been a professional C programmer for over ten years and I own over a dozen C books. This is my favorite. It is not designed to babysit or spoonfeed the lazy, but if you want practical advice on how to write good C programs \ - which is what the title implies, is it not? - this is the book you need. It is fairly complete, discussing not just syntax but also a development approach and the most common errors you'll see as a professional programmer. If you are an absolute beginner and know nothing of programming, you probably shouldn't be reading this book, but frankly, why would a beginner start with C anyway? If you have some programming knowledge or know some C and want to be a better programmer, buy this book. Although there are areas it does not cover well, I think it's the best all-around C book I own. I highly recommend it.


Practical C Programming, 3rd Edition Review,  August 19 1999
Submitted by Andy Ong   [Respond | View]



If your learning to program or have programming
experance with other language and wanted to learn
C make this your first book. In my opinion
books like k&r are too hard for novice to learn
(althought it has the best explanation for pointers)
with. This book not only teach programming it
also teach how to write good programs. Its
explaination has be very clear to me.

Thought it's have its errors but I think that the biggest
error the author has made is put in his little bits of
humour in the book which make him look like violence,
sexist and racist person and offended some ppl


Practical C Programming, 3rd Edition Review,  March 23 1999
Submitted by Jay Rajan   [Respond | View]



I bought this book last year on the assumption that it would be as good as all the other O'Reilly books I had bought in the past. Unfortunately, the book did not live up to my expectations. I definitely would _not_ recommend it to anyone who doesn't already have a reasonable amount of programming experience. Contrary to what its jacket says, it is _not_ an appropriate book for a beginner.

In general, I felt that the book was poorly written. The author simply did not express himself well. It's been some time since I actually looked at the book, so I'm not able to provide specific examples, but that was my impression when I did go through it.

Contrary to what some other readers have written, I would argue that for a beginner the Waite C primer book is a far better book. That said, even if you're an expert programmer, I think that the writing style exhibited in this book is poor enough that I would strongly recommend choosing something else, in order to avoid having to wade through the author's imprecise language.

Fortunately, this particular book has proven to be the exception among O'Reilly titles. I've been very happy with everything else I've bought.

JR


Practical C Programming, 3rd Edition Review,  February 05 1999
Submitted by Joe-S   [Respond | View]



This was a first programming book for me, and after reading it twice, I was able to pick out flaws in examples in other beginning C books and gave away my copy of Waites C-Primer.

I felt confident after reading it, but feel now the book is a little light on pointers. Or at least I would have liked to have heard more from the author rather than looking elsewhere.

After reading it, i followed it up with a Schaums outline, and was able to get through 5 chapters of it in a day without so much as a head scratch thanx to Practical C.

The book was full of relevant information without being to wordy. A real feat given the fluff that's out on most bookshelves. I recommend it.


Practical C Programming, 3rd Edition Review,  December 16 1998
Submitted by Christopher Budd   [Respond | View]



I'm finding this book to be an excellent
counter-point to Kernighan & Ritchie's book
"The C Programming Language". I think these two
books together (even though they are from different
publishers) are an excellent pairing.
Kernighan & Ritchie's provides a good, abstract
theoretical understanding of C. Oualline's book
provides the much needed practical tonic. I'm
finding that Kernighan & Ritchie give the
conceptual understanding of what C is and why it is
and Oualline provides a practical exposition of how
it works and how you should actually use that theory
that Kernighan & Ritchie lay out. I've found that
Oualline helps the Kernighan & Ritchie make sense
and the Kernighan & Ritchie helps understand the "why"
behind what Oualline says. If you've got one but
not the other and are learning C, let me suggest you
complete the set.


Media reviews "I have always enjoyed the way that O'Reilly books are written. The vast majority of the one's I have read are like this one. It is much like just hearing the person talk to you...Overall this books best point is in its writing style, which comes across as relaxed and not just plain dry...Using many code snippets, and a relaxed writing style the author is able to impart knowledge then follow it up with concrete examples. One of the other selling points is that this book deals with teaching you how to program C at the practical level as the title indicates. If and when one successfully assimilates this book a more focused book dealing with other C programming issues can be purchased. To get a foundation of knowledge in the C language though is what this books does admirably. I for one definitely recommend it. This book gets an SFDC 8/10 from me."
--Security Forums, December 2003
http://www.security-forums.com/forum/viewtopic.php?t=10554

"WHERE WAS THIS BOOK WHEN I WAS IN SCHOOL!!!! Back when I was in school we had a book from another publisher that seemed to make C more confusing than it should have been. Steve Oualline does an excellent job of simplifying the explanation of a rather complex language. As scary as this may sound, this book actually makes C sound like fun."
--Kenneth Wilcox, Boise Software Developers Group, February 2003

"Practical C takes on C programming in a way that makes it pretty enjoyable...it is a very solid book and a great book for experienced programmers or novice programmers looking for a supplement to another book on C. The great thing about this book is that it isn't Windows, Linux, MacOS, UNIX, or anything focused and covers each platform and compiler with quite a bit of depth. Rather than letting you figure out these things, Practical C gives you all the information you need and doesn't leave you out in the cold. A perfect example is when it covers make files, where it outlines what they look like in everything from TurboC++ to GCC. This is extremely refreshing and quite an upgrade from past C programming books I've read, which often times are slanted one way or another."
--Patrick Mullen, www.thedukeofurl.org, February 2001

Read all reviews

See larger cover