The art of C programming
Author(s)
Bibliographic Information
The art of C programming
Springer-Verlag, c1987
- : us
- : gw
Available at 29 libraries
  Aomori
  Iwate
  Miyagi
  Akita
  Yamagata
  Fukushima
  Ibaraki
  Tochigi
  Gunma
  Saitama
  Chiba
  Tokyo
  Kanagawa
  Niigata
  Toyama
  Ishikawa
  Fukui
  Yamanashi
  Nagano
  Gifu
  Shizuoka
  Aichi
  Mie
  Shiga
  Kyoto
  Osaka
  Hyogo
  Nara
  Wakayama
  Tottori
  Shimane
  Okayama
  Hiroshima
  Yamaguchi
  Tokushima
  Kagawa
  Ehime
  Kochi
  Fukuoka
  Saga
  Nagasaki
  Kumamoto
  Oita
  Miyazaki
  Kagoshima
  Okinawa
  Korea
  China
  Thailand
  United Kingdom
  Germany
  Switzerland
  France
  Belgium
  Netherlands
  Sweden
  Norway
  United States of America
Note
Includes index
Description and Table of Contents
Description
The programming language C occupies an unusual position midway between conventional high-level and assembly languages, allowing the programmer to combine the best features of both. This book is an introduction to the language itself, and to the special style of thinking that goes with it. Anyone wishing to learn C is likely to have some experience in a high-level language such as BASIC or Pascal, and it seems sensible to make use of that experience. We therefore assume some facility with conventional notation for computer arith metic, and simple notions (such as looping and branching) common to most high-level languages. However, that cannot be the whole story. One cannot learn to speak colloquial French by thinking in English and performing a routine translation. No more can one learn to program in colloquial C by thinking in BASIC and performing a routine translation. However, when learning French it is normal to assume familiarity with English, building on that in the early stages, thereby creating the confidence necessary to provide that mot juste to which nothing corresponding exists in English. Our approach to C is similar. In particular we do not introduce at the very beginning some of the features of C which eventually lead to more efficient and elegant code-for example, the ability to do several things, apparently at once. Initially, such constructs can be confusing. Once the reader has acquired some facility with the language it then becomes possible to bring these features into play in a natural manner.
Table of Contents
1 Compilers and Interpreters.- Editors.- The Compilation Process.- 2 The Skeleton of a C Program.- Plus ca Change ....- Vive la Difference.- Simple and Compound Statements.- Functions That Don't Return Values.- Returning Values.- Main.- Variable Types.- Variable Scope.- Global Variables.- Loose Ends.- printf.- Comments.- 3 Loops and Control Constructs.- If.- Conditional Expressions.- Logical Connectives.- Loops.- while.- Autoincrements.- The sqr Function.- do-while.- for loops.- 4 Arithmetic and Logic.- Odds and Evens.- Logical Operators.- ASCII Code.- AND.- OR.- XOR.- NOT.- Shifts.- 5 Strings, Arrays, and Pointers.- Strings and Pointers.- Arrays.- Declaring Arrays.- String Functions.- Left-Hand Bit.- Right a Bit.- More about Pointers.- Left Again.- Further Right.- Copycat.- 6 Floats and Other Types.- float.- double.- Qualifiers for int.- Signs and Shifts.- Register Variables.- Declaring Structures.- Defining Your Own Types.- Constants and Initializers.- Character Constants.- Handling Control Characters.- Defining Your Own Constants.- Variable Constants.- # include.- Octal and Hexadecimal Constants.- Initializers.- Initializing Pointers.- Declaring Function Types.- 7 Input.- Primitive Input.- Get a Bufferfull.- Operator Precedence.- Strings to Numbers.- A Feeble Excuse.- scanf.- 8 Output.- More about printf.- Justification.- Printing to Memory.- Primitive Output.- 9 More About Control Constructs.- The Conditional Operator.- Leaping out of Loops.- Continuing.- Multiway Switches.- Do Not Pass Go.- 10 Recursion.- Factorials.- Things with Strings.- Back-to-Front Sentences.- In and Out.- Reversing the Text.- Postscript.- 11 Structures.- Playing with Structures.- The Storeman's Mate.- Delete.- Add.- Recursive Structures.- 12 File-handling.- I/O Redirection.- Error Messages.- Buffered File I/O.- fopen.- Creating a File.- Once More, with Filing.- File Access Errors.- Random Access Files.- The Square Table.- Second Attempt.- Reversing the Process.- 13 Debugging.- Common Errors.- Runtime Errors.- Testing a Function.- Test Lines.- Be Thorough.- Dormant Bugs.- 14 Rational Arithmetic.- Fixing the Problem.- Overflow.- A Practical Organization.- Functions.- Double or Nothing.- Portability Considerations.- Lies, Damned Lies and Computer Programs.- Subtraction.- Multiplication.- Division.- The Conversion Routines.- And Now the Bad News ....- Postscript.- 15 Implementing Turtle Graphics....- Turning Turtle.- But First, The Snags.- Triggery-Pokery.- The Turtle Commands.- Turtle Incorporated.- Seeketh after a Sine.- A Trig Suite in C.- 16 ... and Using Them.- Rectangles.- Fan-Dancing.- Polygons.- Circle.- Stars.- Spirals.- The Koch Snowflake.- Afterthoughts....- 17 Random Thoughts.- Some Basic Ideas.- Testing "Randomness".- The Numerical Connection.- Linear Feedback Shift Registers.- A Practical Program.
by "Nielsen BookData"