| |
| |
| |
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 | |
| |
| |
Chapter Review | |
| |
| |
| |
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 | |
| |
| |
Chapter Review | |
| |
| |
| |
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 | |
| |
| |
Chapter Review | |
| |
| |
| |
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 | |
| |
| |
Chapter Review | |
| |
| |
| |
Repetition and Loop Statements | |
| |
| |
| |
Repetition in Programs | |
| |
| |
| |
Counting Loops and the while Statement | |
| |
| |
| |
Computing a Sum or a Product in a Loop | |
| |
| |
| |
The for Statement | |
| |
| |
| |
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 | |
| |
| |
Chapter Review | |
| |
| |
| |
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 | |
| |
| |
Chapter Review | |
| |
| |
| |
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 | |
| |
| |
Chapter Review | |
| |
| |
| |
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 | |
| |
| |
Chapter Review | |
| |
| |
| |
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 | |
| |
| |
Chapter Review | |
| |
| |
| |
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 | |
| |
| |
Chapter Review | |
| |
| |
| |
Structure and Union Types | |
| |
| |
| |
User-Defined Structure Types | |
| |
| |
| |
Structure Type Data as Input and Output Parameters | |
| |
| |
| |
Functions Whose Result Values Are Structured | |
| |
| |
| |
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 | |
| |
| |
Chapter Review | |
| |
| |
| |
Text and Binary File Processing | |
| |
| |
| |
Input/Output Files: Review and Further Study | |
| |
| |
| |
Binary Files | |
| |
| |
| |
Searching a Database | |
| |
| |
Case Study: Database Inquiry | |
| |
| |
| |
Common Programming Errors | |
| |
| |
Chapter Review | |
| |
| |
| |
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 | |
| |
| |
Chapter Review | |
| |
| |
| |
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 | |
| |
| |
Chapter Review | |
| |
| |
| |
Multiprocessing Using Processes and Threads | |
| |
| |
| |
Multitasking | |
| |
| |
| |
Processes | |
| |
| |
| |
Interprocess Communications and Pipes | |
| |
| |
| |
Threads | |
| |
| |
| |
Threads Illustrated | |
| |
| |
Case Study: The Producer/Consumer Model | |
| |
| |
| |
Common Programming Errors | |
| |
| |
Chapter Review | |
| |
| |
| |
On to C++ | |
| |
| |
| |
C++ Control Structures, Input/Output, and Functions | |
| |
| |
| |
C++ Support for Object-Oriented Programming | |
| |
| |
Chapter Review | |
| |
| |
Appendices | |
| |
| |
| |
Character Sets | |
| |
| |
| |
ANSI C Standard Libraries | |
| |
| |
| |
C Operators | |
| |
| |
| |
More about Pointers | |
| |
| |
| |
ANSI C Reserved Words | |
| |
| |
Answers | |
| |
| |
Glossary | |
| |
| |
Index | |