C Primer Plus (5th Edition) |  | Author: Stephen Prata Publisher: Sams
List Price: $54.99 Buy New: $21.99 as of 11/24/2009 17:40 CST details You Save: $33.00 (60%)
New (35) Used (16) from $21.99
Seller: AT-UR-Service Rating: 25 reviews Sales Rank: 56495
Media: Paperback Edition: 5 Pages: 984 Number Of Items: 1 Shipping Weight (lbs): 3.6 Dimensions (in): 9.1 x 7.4 x 2.3
ISBN: 0672326965 Dewey Decimal Number: 005 UPC: 752063326961 EAN: 9780672326967 ASIN: 0672326965
Publication Date: December 3, 2004 Availability: Usually ships in 1-2 business days
| |
| Similar Items:
| |
| Editorial Reviews:
Product Description
The new classic! C Primer Plus, now in its 5th edition, has been revised to include over 20 new programming exercises, newly improved examples and the new ANSI/ISO standard, C99. Task-oriented examples will teach you the fundamentals of C programming. From extended integer types and compound literals to Boolean support and variable-length arrays, you will learn to create practical and real-world applications with C programming. Review questions and programming exercises at the end of each chapter will reinforce what you have learned. This friendly and easy-to-use self-study guide will help you understand the fundamentals of this core programming language.
|
| Customer Reviews:
Showing reviews 1-5 of 25
Thorough & Readable November 5, 2009 Ichimonji10 (Vermont, USA) I'm a freshman in college right now, and this book was required for my Intro to C class. Additionally, this is the first programming language (other than html, lol) I have ever studied.
This book might scare you a little bit when you first pick it up; it's almost a thousand pages dedicated soley to learning a language that was first formally described in 1972. This language is old, and in some ways it shows. When you start studying an aspect of C such as pointers, you might wonder why something so low-level as memory addresses ever need to be understood. Thankfully, this book takes, in their own words, a "spiral" approach to learning the language. This book does not thoroughly go through each single aspect of C, one at a time. It does not thoroughly cover every method of input, then everything about arrays, then all about pointers, etc. Rather, the authors start by introducing you to a single, simple program and go on to describe what makes that program work. They might then cover a little bit about how to get input from the user, then move on for a chapter or two, and then return to input in more detail later.
In general, the author will progress through the book by giving you a sample program, then explaining how and why it works. Wash, rinse, and repeat. This simple formula means that all of the practical methods introduced in the book are reinforced by useful and interesting theory.
In this way, the authors have taken a massive and potentially overwhelming subject and turned it into something that you can play with. The authors start by giving you a basic toolset, and keep on giving you more tools at just the right time to keep you going. By the time you get to the tenth chapter (not to mention the twentieth), you'll have enough of an understanding of how C works to look at a complex program written by any professional programmer, and at least understand what the author of that program is trying to do. You may not understand all of the tools and methods that other programmer used, but at least you will not feel completely lost looking at someone else's code.
All of the written examples in the book were tested on multiple machines with several (eleven?) different compilers, just to make sure that the programs given work as intended. I have found only two typographical errors in all my reading of the book, and both of those were noted on the publishers' website. This book is soundly fact-checked.
What else to say? As a student who plans to make the most of their education (only one shot at it, haha), I couldn't be happier.
Best for C-Programming October 9, 2009 Jerbo I've read through a few C-Programming books, and this is the best I've found yet. Comprehensive, compact, and teaches the language very well.
Highly recommended reading for novices, and a great reference for all.
I wish I would have started with this book sooner! July 8, 2009 Michael Shada I started learning C with K&R. That book is THICK! This book reads at a slower pace and assumes less programming experience then K&R did. Along with the easier to read format they have some really cleaver pieces of code. This book along with Project Euler and UVa Online Judge has made programming fun for me.
So far so good May 31, 2009 John Hunt (Southampton, UK) I've almost got to the end of chapter 3 of this book, and as a resource for learning C, it seems very good indeed. The chapters are carefully laid out and introduce new concepts nice and slow, the chapter summaries, questions and programming tasks really hammer in everything you read - I really feel like I'm learning the language.
I have been programming php for a number of years now, but I feel that this book would be suitable for anyone who is willing to take the time to sit down and really try to learn the language. At just under a thousand pages, it's certainly not learn C in 24 hours, but I imagine other than going on a real programming course this is the next best thing.
One of the nice things I noticed in the book is how it teaches you to comply to the C99 standard which it seems is more verbose than the older standards.. this is good as the C99 standard was made in 1999 I think, which is now quite a while ago!
I was a bit sceptical at first, but I'm really enjoying learning C with this book - probably because it not only teaches you the language, but good form with the language also.
Highly recommended. I also bought the K&R C book as a reference/extra material once I complete this one.
A bloated start, but otherwise an excellent and thorough introduction February 17, 2009 J. Phillips (New York City, USA) 4 out of 4 found this review helpful
This review is a rewrite of a previous review which I have deleted since on further reflection I have decided that it was too critical and did not represent the book fairly.
Basically, I had given the book a low rating based on my belief that it is not suitable for beginners. While I still hold this view to some respect, I now feel that I placed too much emphasis on this criticism when I decided to give the book only two stars.
Let's get that aspect out of the way first. My only real criticism of this book is that, as others have mentioned, the first 100 pages or so are a little long winded and potentially confusing for the beginner. The issue here is that Prata goes into, in my opinion, far too much detail when describing the printf() and scanf() functions along with their various conversion specifiers, modifiers and flags. As a total newcomer to C I felt like I was reading a reference manual at first. If you've never been exposed to C before - i.e. either you're a complete programming beginner or you've only ever programmed in simpler, higher level languages like BASIC or Python - then it can be quite overwhelming since the user is exposed to more layers of detail and complexity, with a much higher potential for bugs and errors. Unfortunately, Prata bombards the student with far more detail than is necessary at this stage.
For example, is there any real need to cover so many conversion specifiers and modifiers, when surely it would be more prudent to explain two or three and then refer the student to an appendix for the rest? The same can be said with his treatment of data types - the book in my opinion dwells too much on types and their various possible sizes on various systems. As if that weren't enough, we're also exposed to another potential wave of confusion as Prata sees fit to bring different C standards into the equation. For example, consider the following passage on page 156 (still relatively early in the book):
"When appearing in an expression, char and short, both signed and unsigned, are automatically converted to int or, if necessary, to unsigned int. (If short is the same size as int, unsigned short is larger than int; in that case, unsigned short is converted to unsigned int.) Under K&R C, but not under current C, float is automatically converted to double. Because they are conversions to larger types, they are called promotions."
At a stage in which the beginner is not likely to feel very confident about the bigger picture, statements like this are liable to either confuse, bore or a mixture of both. I found that it disrupted the learning flow somewhat. At times during the first 150 pages of this book, I found my attention wandering as I worried which of the information I should be retaining and which was just extrenuous detail that I would pick up again later. It was a while before I felt like I was making any progress, put it that way.
OK, so that's the negative out of the way. It's a little hairy for the beginner to begin with. But having now gotten all the way to the end of the book, I feel like heaping praise on what is a very well structured and thorough introduction to C.
One of the main things I like about this book is that it doesn't treat the reader like a teenager. One of the most irritating things about some of today's modern programming texts is that they go out of their way to "liven up" the learning process, as if they're so worried that students are going to find the practice of programming boring that they feel like they have to inject goofy pictures, cheesy jokes and crossword puzzles into the proceedings (see the Head First series for a perfect example). Not so with Prata's "C Primer Plus." Programming is a very logical, but complicated process and in truth that's what attracts a certain kind of mind to it. If a dry, logical approach to the subject doesn't attract you then to be honest programming isn't really for you. When you get down to the practical nuts and bolts of programming there are no cartoon gorillas or wordsearch puzzles or goofy analogies to liven things up. I can see the attraction to this style of learning for someone who isn't interested in programming at all but who is forced to learn it for a course, but if you're really enthusiastic about coding then a treatment like Prata's "C Primer Plus" is going to feel just right.
He doesn't repeat himself to excess (like other programming authors I could name) and he builds on previously learned knowledge at a pace which is just right. Each chapter ends with a very well worded summary to stimulate recall, as well as some excellent review questions and programming exercises.
The programming exercises are what really make this book in my opinion. They're graded just right and contain a mix of short exercises in which for example you're prompted to write a function that does some simple task to demonstrate some concept or other - and much larger exercises on which you can find yourself working most of the evening if your'e not careful. It's virtually impossible to breeze through the exercises in minutes, which means that if you stick to your guns and complete them, you really will feel confident and familiar with the concepts you've learned in that chapter. If you don't complete the exercises, you're not going to make it through this book, put it that way. I found them extremely useful and very satisfying to complete - for instance, in one exercise Prata has you writing a simple airplane booking program with two levels of menus, using structures which are then writen to disk in a binary file. It's upon completion of exercises like these that you really feel like you're a C programmer and it's impossible not to feel very pleased with yourself.
The subject of pointers can be a make-or-break issue for the C student and on reflection Prata explains them very well indeed. Initially I was confused and a little frustrated, but I think that was because I'd found the book very easy up until that point that my brain took a little while to change to the required gear to understand them. But once I'd gotten over my initial confusion I found the subject very interesting and understandable. Again, the end of chapter exercises are a superb way to absorb and intergrate this topic.
After a surprisingly understandable chapter on bit-fiddling and an admittedly dreary chapter on the preprocessor and the standard library, the book really takes it up a notch in the final chapter on advanced data representation and it was at this point I really started to feel things come together, albeit with some mental effort. The concepts of linked lists and binary trees can feel complicated to the beginner since it's a step up from the theoretical treatment of syntax and structure to a more applied subject. And while I found the subject of binary trees very heavy going at times, it was great to finally get through it and to feel like I understood it.
After completing this book all the way to the end I really feel like I know enough about the basics of C to tackle some more involved programming texts and indeed I've just started "Practical Algorithms for Programmers" by Binstock and Rex, for which the last chapter of Prata's primer has really prepared me. It really feels as if I've worked out in a mental gymnasium.
If you have done absolutely no programming before whatsoever then I'm not sure I'd recommend this book. In fact I'm not even sure I'd recommend C - maybe it would be better to play around with something like Python for a while in order to learn the basic concepts. This book is no "C for Dummies" and it does require a lot of time and effort to get through. But the results are worth it. This is probably the best (and most thorough) introduction to the C programming language on the market and it's worthy of a place on anyone's shelf.
Showing reviews 1-5 of 25
|
|
|
|