-By: Tony Zhang
This book covers a wide variety of beginner C topics, and isn't a very bad place to start. It covers the basics, but alas, like many programming guides you won't have the faintest clue as to how to apply your knowledge after reading it; the book leaves out some key programming concepts.
The first problem is that the examples that the book asks you to complete don't do anything interesting or special, and there's no real link throughout connecting the programs you make in each chapter (A simple Tic Tac Toe game would have sufficed for example, changing from arrays to linked lists over time, etc.).
Also annoying, is the rather terse explanation of bit wise operations. Absolute newbies will be rather confused by the whole idea, especially if they've never even worked with the binary system before (A little explanation of base 2, there or in the appendix, couldn't have hurt).
Linked lists oddly enough are ignored completely (not even mentioned in the chapter on pointers) until the end of the book. Only a few examples are offered, and they don't really demonstrate the great value that linked lists truly offer. Worse, the book offers no examples or explanations of modular programming other than a reccomended book list, leaving modular programming a big, black, esoteric mystery to the reader.
If you're looking for something that's usable as a reference, this book might not be all bad. However, there are probably better books out there written for the purpose of being references.
<Non-Editorial Related Table of Contents>
Part I: The Basics of C
Part II: Operators and Control-Flow Statements
Writing Your First C Program
The Essentials of C Programs
Data Types and Names in C
Reading from and Writing to Standard I/O
Manipulating Data with Operators
Part III: Pointers and Arrays
Doing the Same Thing Over and Over
Playing with Data Modifiers and Math Functions
An Introduction to Pointers
Part IV: Functions and Dynamic Memory Allocation
Storing Similar Data Items
Scope and Storage Classes in C
Functions in C
Part V: Structure, Union, File I/O, and More
More Data Types and Functions
Collecting Data Items of Different Types
Unions: Another Way to Collect Dissimilar Data
Disk File Input and Output: Part I
Disk File Input and Output: Part II
The C Preprocessor
What You Can Do Now