Problem Solving and Program Design in C

by ;
  • ISBN13:


  • ISBN10:


  • Edition: 4th
  • Format: Paperback
  • Copyright: 2004-01-01
  • Publisher: Addison Wesley
  • View Upgraded Edition
  • Purchase Benefits
  • Free Shipping On Orders Over $35!
    Your order must be $35 or more to qualify for free economy shipping. Bulk sales, PO's, Marketplace items, eBooks and apparel do not qualify for this offer.
  • Get Rewarded for Ordering Your Textbooks! Enroll Now
List Price: $114.00


The Third Edition Update of this best-selling book includes a completely updated On to C++ chapter, a free copy of Borland's Enterprise C compiler, and a new appendix on how to set-up and use this compiler. This book maintains its classic features like the gradual introduction of pointers and the connection between problem solving skills and effective software development. It features early coverage of functions, logical operators, and operators with side effects. This book features the classic Koffman five-step problem-solving approach (state problem, analyze problem, design algorithm, implement, test/verify) to insure that readers get a solid grounding in these fundamentals of programming. It includes a new "On to C++" chapter for readers who want an introduction to object-oriented programming and C++.

Table of Contents

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
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
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
Selection Structures: If and Switch Statements
Control Structures
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
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
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
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
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
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
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
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
Text and Binary File Processing
Input/Output Files: Review and Further Study
Binary Files
Searching a Database
Case Study: Database Inquiry
Common Programming Errors
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
Dynamic Data Structures
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
On to C++
C++ Control Structures, Input/Output, and Functions
C++ Support for Object-Oriented Programming
Character Sets
ANSI C Standard Libraries
Pointer Arithmetic
ANSI C Reserved Words
Table of Contents provided by Publisher. All Rights Reserved.

Rewards Program

Write a Review