Bibliographic Information

The art of C programming

Robin Jones, Ian Stewart

Springer-Verlag, c1987

  • : us
  • : gw

Search this Book/Journal
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"

Details
  • NCID
    BA01534274
  • ISBN
    • 0387963928
    • 3540963928
  • LCCN
    86022014
  • Country Code
    us
  • Title Language Code
    eng
  • Text Language Code
    eng
  • Place of Publication
    New York
  • Pages/Volumes
    xiii, 186 p.
  • Size
    24 cm
  • Classification
  • Subject Headings
Page Top