Eric Roberts > books > The Art and Science of C

  Publication information:
  The Art and Science of C
  Addison-Wesley, 1995
  ISBN: 978-0201543223

Links:
  
The Addison-Wesley book site
  The amazon.com page

Contents:
 
  Chapter 1. Introduction
    1.1 A brief history of computing
    1.2 What is computer science?
    1.3 A brief tour of computer hardware
    1.4 Algorithms
    1.5 Programming languages and compilation
    1.6 Programming errors and debugging
    1.7 Software maintenance
    1.8 The importance of software engineering
    1.9 Some thoughts on the C programming language
 
  Chapter 2. Learning by Example
    2.1 The “Hello World” program
    2.2 A program to add two numbers
    2.3 Perspectives on the programming process
    2.4 Data types
    2.5 Expressions
 
  Chapter 3. Problem Solving
    3.1 Programming idioms and paradigms
    3.2 Solving problems on a larger scale
    3.3 Control statements
    3.4 An exercise in debugging
    3.5 Formatted output
    3.6 Crafting a program
 
  Chapter 4. Statement Forms
    4.1 Simple statements
    4.2 Control statements
    4.3 Boolean data
    4.4 The if statement
    4.5 The switch statement
    4.6 The while statement
    4.7 The for statement
 
  Chapter 5. Functions
    5.1 Using library functions
    5.2 Function declarations
    5.3 Writing your own functions
    5.4 Mechanics of the function-calling process
    5.5 Procedures
    5.6 Stepwise refinement
 
  Chapter 6. Algorithms
    6.1 Testing for primality
    6.2 Computing the greatest common divisor
    6.3 Numerical algorithms
    6.4 Series expansion
    6.5 Specifying the size of numeric types
 
  Chapter 7. Libraries and Interfaces: A Simple Graphics Package
    7.1 The concept of an interface
    7.2 An introduction to the graphics library
    7.3 Building your own tools
    7.4 Solving a larger problem
 
  Chapter 8. Designing Interfaces: A Random Number Library
    8.1 Interface design
    8.2 Generating random numbers by computer
    8.3 Saving tools in libraries
    8.4 Evaluating the design of random.h interface
    8.5 Using the random-number package
 
  Chapter 9. Strings and Characters
    9.1 The principle of enumeration
    9.2 Characters
    9.3 Strings as abstract data
    9.4 The strlib.h interface
 
  Chapter 10. Modular Development
    10.1 Pig Latin—A case study in modular development
    10.2 Maintaining internal state within a module
    10.3 Implementing a scanner abstraction
 
  Chapter 11. Arrays
    11.1 Introduction to arrays
    11.2 Internal representation of data
    11.3 Passing arrays as parameters
    11.4 Using arrays for tabulation
    11.5 Static initialization of arrays
    11.6 Multidimensional arrays
 
  Chapter 12. Searching and Sorting
    12.1 Searching
    12.2 Sorting
 
  Chapter 13. Pointers
    13.1 Using addresses as data values
    13.2 Pointer manipulation in C
    13.3 Passing parameters by reference
    13.4 Pointers and arrays
    13.5 Dynamic allocation
 
  Chapter 14. Strings Revisited
    14.1 Conceptual representations of the type string
    14.2 The ANSI string library
    14.3 Implementing the strlib.h library
 
  Chapter 15. Files
    15.1 Text files
    15.2 Using files in C
    15.3 Character I/O
    15.4 Line-oriented I/O
    15.5 Formatted I/O
 
  Chapter 16. Records
    16.1 The concept of the data record
    16.2 Using records in C
    16.3 Combining records and arrays
    16.4 Pointers to records
    16.5 Building a database of records
    16.6 Designing a record-based application
 
  Chapter 17. Looking Ahead
    17.1 Recursion
    17.2 Abstract data types
    17.3 Analysis of algorithms
 
  Appendix A. Summary of C Syntax and Structure
 
  Appendix B. Library Sources


Last modified on Sat Mar 22 15:03:40 2008 by eroberts