Synopses & Reviews
This bestselling text 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. The third edition offers updated C code and provides a new "On to C++" chapter, preparing students for future object-oriented programming and C++ courses.
TABLE OF CONTENTS:
OVERVIEW OF COMPUTERS AND PROGRAMMING
Electronic Computers Then and Now x Introduction to Computer Hardware x Computer Software x The Software Development Method x Applying the Software Development Method x Case Study: Converting Miles to Kilometers
OVERVIEW OF C
C Language Elements x Variable Declarations and Data Types x Executable Statements x General Form of a C Program x Arithmetic Expressions x Case Study: Evaluating a Collection of Coins x Formatting Numbers in Program Out put x Interactive Mode, Batch Mode, and Data Files x Common Programming Errors
TOP-DOWN DESIGN WITH FUNCTIONS
Building Programs from Existing Information x Case Study: Finding the Area and Circumference of a Circle x Case Study: Computing the Weight of a Batch of Flat Washers x Library Functions x Top-Down Design and Structure Charts x Case Study: Drawing Simple Diagrams x Functions without Arguments x Functions with Input Arguments x Common Programming Errors
SELECTION STRUCTURES: IF AND SWITCH STATEMENTS
Control Structures x Conditions x The if Statement x If Statements with Compound Statements x Decision Steps in Algorithms x Case Study: Water Bill Problem x More Problem Solving x Case Study: Water Bill with Conservation Requirements x Nested if Statements and Multiple-Alternative Decisions x The switch Statement x Common Programming Errors
REPETITION AND LOOP STATEMENTS
Repetition in Programs x The while Statement x Computing a Sum or Product in a Loop x Counting Loops and the for Statement x Conditional Loops x Loop Design x Nested Loops x The do-while Statement and Flag-Controlled Loops x Problem Solving Illustrated x Case Study: Computing Radiation Levels x How to Debug and Test Programs x Common Programming Errors
MODULAR PROGRAMMING
Functions with Simple Output Parameters x Multiple Calls to a Function with Input/Output Parameters x Scope Names x Formal Output Parameters as Actual Arguments x A Program with Multiple Functions x Case Study: Arithmetic with Common Fractions x Debugging and Testing a Program System x Common Programming Errors
SIMPLE DATA TYPES
Representation and Conversion of Numeric Types x Representation and Conversion of type char x Enumerated Types x Iterative Approximations x Case Study: Bisection Method for Finding Roots x Common Programming Errors
ARRAYS
Declaring and Referencing Arrays x Array Subscripts x Using for Loops for Sequential Access x Using Array Elements as Function Arguments x Array Arguments x Searching and Sorting an Array x Multidimensional Arrays x Array Processing Illustrated x Case Study: Analysis of Sales Data x Common Programming Errors
STRINGS
String Basics x String Library Functions: Assignment and Substrings x Longer Strings x Concatenation and Whole-Line Input x String Comparison x Arrays of Pointers x Character Operations x String-to-Number and Number-to-String Conversions x String Processing Illustrated x Case Study: Text Editor x Common Programming Errors
RECURSION
The Nature of Recursion x Tracing a Recursive Function x Recursive Mathematical Functions x Recursive Functions with Array and String Parameters x Case Study: Finding Capital Letters in a String x Case Study: Recursive Selection Sort x Problem Solving with Recursion x Case Study: Operations on Sets x A Classic Case Study in Recursion: Towers of Hanoi x Common Programming Errors
STRUCTURE AND UNION TYPES
User-Defined Structure Types x Structure Type Data as Input and Output Parameters x Functions Whose Result Values are Structures x Problem Solving with Structure Types x Case Study: A User-Defined Type for Complex Numbers x Parallel Arrays and Arrays of Structures x Case Study x Universal Measurement Conversion x Union Types (Optional) x Common Programming Errors
TEXT AND BINARY FILE PROCESSING
Input/Output Files: Review and Further Study x Binary Files x Searching a Database x Case Study: Database Inquiry x Common Programming Errors
PROGRAMMING IN THE LARGE
Using Abstraction to Manage Complexity x Personal Libraries: Header Files x Personal Libraries: Implementation Files x Storage Classes x Modifying Functions for Inclusion in a Library x Conditional Compilation x Arguments to Function main x Defining Macros with Parameters x Common Programming Errors
DYNAMIC DATA STRUCTURES
Review of C Pointers x Pointers to Dynamically Allocated Memory x Linked Lists x Linked List Operators x Representing a Stack with a Linked List x Representing a Queue with a Linked List x Ordered Lists x Case Study: Maintaining an Ordered List of Integers x Binary Trees x Common Programming Errors
ON TO C++
C++ Control Structures, Input/Output, and Functions x C++ Support for Object-Oriented Programming x C++ Constructs x Programming Projects
APPENDICES
Character Sets x ANSI C Standard Libraries x C Operators x Pointer Arithmetic x ANSI C Reserved Words
Synopsis
This bestselling book for novice programmers maintains its classic features such as the gradual introduction of pointers, and the connection between problem solving skills and effective software development. This Third Edition offers updated C code and provides a new "On to C++" chapter to introduce readers to object-oriented programming and C++.