|
Publication information:
The Art and Science of C
Addison-Wesley, 1995
ISBN: 978-0201543223
|
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 LatinA 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