1. Overview of Computers and Programming.
Electronic Computers Then and Now. |
Computer Hardware. |
Computer Software. |
The Software Development Method. |
Applying the Software Development Method. |
Case Study: Converting Miles to Kilometers.
2. Overview of C.
C Language Elements. |
Variable Declarations and Data Types. |
Executable Statements. |
General Form of a C Program. |
Arithmetic Expressions. |
Case Study: Evaluating a Collection of Coins. |
Formatting Numbers in Program Output. |
Interactive Mode, Batch Mode, and Data Files. |
Common Programming Errors.
3. Top-Down Design with Functions.
Building Programs from Existing Information. |
Case Study: Finding the Area and Circumference of a Circle. |
Case Study: Computing the Weight of a Batch of Flat Washers. |
Library Functions. |
Top-Down Design and Structure Charts. |
Case Study: Drawing Simple Diagrams. |
Functions without Arguments. |
Functions with Input Arguments. |
Common Programming Errors.
4. Selection Structures: If and Switch Statements.
Control Structures. |
Conditions. |
The if Statement. |
If Statements with Compound Statements. |
Decision Steps in Algorithms. |
Case Study: Water Bill Problem. |
More Problem Solving. |
Case Study: Water Bill with Conservation Requirements. |
Nested if Statements and Multiple-Alternative Decisions. |
The switch Statement. |
Common Programming Errors.
5. Repetition and Loop Statements.
Repetition in Programs. |
Counting Loops and the while Statement. |
Computing a Sum or Product in a Loop. |
Conditional Loops. |
Loop Design. |
Nested Loops. |
The do-while Statement and Flag-Controlled Loops. |
Problem Solving Illustrated. |
Case Study: Collecting Area for Solar-Heated House. |
How to Debug and Test Programs. |
Common Programming Errors.
6. Modular Programming.
Functions with Simple Output Parameters. |
Multiple Calls to a Function with Input/Output Parameters. |
Scope of Names. |
Formal Output Parameters as Actual Arguments. |
A Program with Multiple Functions. |
Case Study: Arithmetic with Common Fractions. |
Debugging and Testing a Program System. |
Common Programming Errors.
7. Simple Data Types.
Representation and Conversion of Numeric Types. |
Representation and Conversion of type char. |
Enumerated Types. |
Iterative Approximations. |
Case Study: Bisection Method for Finding Roots. |
Common Programming Errors.
8. Arrays.
Declaring and Referencing Arrays. |
Array Subscripts. |
Using for Loops for Sequential Access. |
Using Array Elements as Function Arguments. |
Array Arguments. |
Searching and Sorting an Array. |
Multidimensional Arrays. |
Array Processing Illustrated. |
Case Study: Analysis of Sales Data. |
Common Programming Errors.
9. Strings.
String Basics. |
String Library Functions: Assignment and Substrings. |
Longer Strings: Concatenation and Whole-Line Input. |
String Comparison. |
Arrays of Pointers. |
Character Operations. |
String-to-Number and Number-to-String Conversions. |
String Processing Illustrated. |
Case Study: Text Editor. |
Common Programming Errors.
10. Recursion.
The Nature of Recursion. |
Tracing a Recursive Function. |
Recursive Mathematical Functions. |
Recursive Functions with Array and String Parameters. |
Case Study: Finding Capital Letters in a String. |
Case Study: Recursive Selection Sort. |
Problem Solving with Recursion. |
Case Study: Operations on Sets. |
A Classic Case Study in Recursion: Towers of Hanoi. |
Common Programming Errors.
11. Structure and Union Types.
User-Defined Structure Types. |
Structure Type Data as Input and Output Parameters. |
Functions Whose Result Values are Structures. |
Problem Solving with Structure Types. |
Case Study: A User-Defined Type for Complex Numbers. |
Parallel Arrays and Arrays of Structures. |
Case Study: Universal Measurement Conversion. |
Union Types (Optional). |
Common Programming Errors.
12. Text and Binary File Processing.
Input/Output Files: Review and Further Study. |
Binary Files. |
Searching a Database. |
Case Study: Database Inquiry. |
Common Programming Errors.
13. Programming in the Large.
Using Abstraction to Manage Complexity. |
Personal Libraries: Header Files. |
Personal Libraries: Implementation Files. |
Storage Classes. |
Modifying Functions for Inclusion in a Library. |
Conditional Compilation. |
Arguments to Function main. |
Defining Macros with Parameters. |
Common Programming Errors.
14. Dynamic Data Structures.
Pointers. |
Dynamic Memory Allocation. |
Linked Lists. |
Linked List Operators. |
Representing a Stack with a Linked List. |
Representing a Queue with a Linked List. |
Ordered Lists. |
Case Study: Maintaining an Ordered List of Integers. |
Binary Trees. |
Common Programming Errors.
15. On to C++.
C++ Control Structures, Input/Output, and Functions. |
C++ Support for Object-Oriented Programming.
Appendixes.
A. Character Sets.
B. ANSI C Standard Libraries.
C Operators.
D. Pointer Arithmetic.
E. ANSI C Reserved Words.
Answers.
Index.
Glossary.