(
Each Chapter concludes with "Common Programming Errors" and a "Chapter Review.")
1. Overview of Computers and Software. Computer Components.
Computer Software.
Computing for Engineers.
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 Programs.
Case Study: Finding the Area and Circumference of a Circle.
Formatting Numbers in Program Output.
Interactive Mode, Batch Mode, and Data Files.
3. Data Types, Operators, and Simple Functions.
Representation of Data Types.
Arithmetic Expressions.
Extending a Problem Solution.
Case Study: Quality Control in Manufacturing Flat Washers.
Functions Implementing Additional Operators.
Simple User-Defined Functions
4. Selection Structures: if and switch Statements.
Control Structures.
Conditions.
The if Statement.
if Statements with Compound Statements.
Nested if Statements and Multiple-Alternative Decisions.
Decision Steps in Algorithms.
Case Study: Computing Compass Bearings.
The switch Statement.
5. Repetition and Loop Statements.
Repetition in Programs: Using Loops to Solve Problems.
Counting Loops and the while Statement.
Computing a Sum or a Product in a Loop.
The for Statement.
Conditional Loops.
Loop Design.
Nested Control Structures.
The do-while Statement and Flag-Controlled Loops.
Problem Solving Illustrated.
Case Study: Computing Radiation Levels.
How to Debug and Test Programs.
6. Modular Programming.
Functions with Input Arguments.
Problem Solving with Top-Down Design.
Case Study: Finding Prime Numbers.
Functions Output Parameters Implemented with Pointers.
Introduction to Scope of Names.
Formal Output Parameters as Actual Arguments.
Recursive Functions.
Case Study: Bisection Method for Finding Roots.
Top-Down Design Illustrated.
Case Study: Performing Arithmetic Operations on Common Fractions.
Debugging and Testing a Program System.
7. Arrays.
Declaring and Referencing Arrays.
Array Subscripts.
Using for Loops for Sequential Access.
Using Array Elements as Function Arguments.
Array Arguments.
Using Character Arrays as Strings.
Array Processing Illustrated.
Case Study: Finding Palindromes in Nucleotide Sequences.
Dynamic Allocation of Arrays.
8. Multidimensional Arrays.
Declaring and Referencing Multidimensional Arrays.
Modeling with Two-Dimensional Arrays.
Case Study: Cellular Telephone System.
Vectors and Matrices.
Solving Systems of Linear Equations.
9. Structure 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.
10. Text and Binary File Processing.
Input/Output Files: Review and Further Study.
Binary Files.
Searching a Database.
Case Study: Metals Database Inquiry.
11. 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.
12. Introduction to Numerical Methods.
Finding Roots of Equations.
Fundamental Statistics.
Numerical Differentiation.
Numerical Integration.
Solving First-Order Differential Equations.
Commercial Numerical Methods Software.
13. 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. C Operators.
D. C Numeric Types.
E. Enumerated Types.
F. Pointer Arithmetic.
G. Dynamic Allocation of Two-Dimensional Arrays.
H. ANSI C Reserved Words.
Answers.
Index.