REVIEW - C by Example


C by Example


Greg M. Perry



Que Pub (2000)




Yechiel M. Kimchi


October 2000



This is not the worst book on C I have ever seen, but it is the strongest competitor for this title. The author may know how to program and may know C and even may know ANSI-C, but none of these is shown in his writing of this book.

In order to make this review short (the book does not deserve much of your time) I will concentrate on citing erroneous statements from the book. I shall leave the criticism of the coding in the book to my Web-page.

  1. The author claims to teach ANSI-C (p. 11). Apparently, the type
    (and many more such in the table on p. 38) and the
    FILE* object stdprn
    (p. 293), to name a few, were kept secret from me.
  2. The author seems to have missed his class when the if-statement was taught. I thought I was picking at him when I noticed that he wrote on p. 129: 'The else-statement ...', but when I saw that he claims, on p. 144, that 'Any valid if C statement can be a
    ...' I relaxed. Since the latter is false when the if-statement has a loop inside it, he may have missed the class on loops too.
  3. The author has many misconceptions about the increment/decrement operators. For example (p.147): 'You can apply these operators only to variables.' Hmm... what about
  4. p. 248: 'Never pass a global variable [as a function argument, YMK] because C will get confused.'
  5. p. 412: 'Local variables are reserved before your program ever begins, just as global variables are.'
  6. p. 413: 'A
    pointer is a special kind of pointer that you must typecast.'
  7. p. 414: 'Remember that a pointer is no different from an array name.'
For the cherry on the pie; at the end of each chapter, the author gives a 'What's next' paragraph, explaining the coming subject. Here is how the 'What's next' of the last chapter begins (p. 457); 'Next, you should begin making money at your career of C programming. Seriously, you now know as much as most C programmers know about the C programming language.'

Indeed, I cannot prove that these statements are false, since it may be the case that 'most C programmers' have acquired their knowledge from this book. Moreover, bad programmers are able to make money, a lot of it - if they work for the right company. However, textbooks should aim higher, shouldn't they?

I shall conclude with the following: At the beginning of the book, in the section 'About the Author', it is written (p. xi): 'He is known for his skills at bringing advanced computer topics down to the novice's level.' I would have shortened this statement to be read: 'He is known for bringing his skills down to the novice's level.'

More examples of errors can be found on my page

Book cover image courtesy of Open Library.

Your Privacy

By clicking "Accept Non-Essential Cookies" you agree ACCU can store non-essential cookies on your device and disclose information in accordance with our Privacy Policy and Cookie Policy.

Current Setting: Non-Essential Cookies REJECTED

By clicking "Include Third Party Content" you agree ACCU can forward your IP address to third-party sites (such as YouTube) to enhance the information presented on this site, and that third-party sites may store cookies on your device.

Current Setting: Third Party Content EXCLUDED

Settings can be changed at any time from the Cookie Policy page.