C By Discovery

Series
Addison-Wesley
Author
W. D. Foster / L. S. Foster  
Publisher
Pearson
Cover
Softcover
Edition
4
Language
English
Total pages
996
Pub.-date
August 2004
ISBN13
9781576761700
ISBN
1576761703
Related Titles



Description

This book provides an introduction to the C programming language. It is widely known for its accurate and precise descriptions, its careful annotation of code, and its comprehensive coverage of topics.  It also includes numerous "Learning Activities" which allow students to immediately "do it" after they "read it" in the book.

Features

  • Attention to detail

  • Carefully annotated code

  • Precise descriptions

  • Comprehensive coverage

  • Learning Activities, so students can "do it" immediately after they "see it"

  • New to this Edition

    • Expanded coverage of the C string library functions in Ch. 5

    • Discussion and examples of additional library functions

    • More detailed discussions of searching and sorting algorithms

    • Enhanced exercises and programming problems

    Table of Contents

    Chap. 1   Getting Started

    1.1 What to Expect from C 

    1.2 Fundamentals-Reserved Words, Identifiers, the Character Set 

    1.3 Subprograms or Functions in C 

    1.4 An Introduction to Output in C

    1.5 Input and Output with Variables

    1.6 Arithmetic Operations 

    1.7 Introduction to Functions and Structured Programming in C 

    Language Elements Introduced in This Chapter: A Review 

    Things to Remember 

    Exercises and Programming Problems

    Chap. 2   Gaining Control

    2.1 Expressions and Statements 

    2.2 Blocks and Compound Statements

    2.3 The if and if-else Statements

    2.4 Relational Operators and Expressions

    2.5 The while Loop 

    2.6 Logical Operators and Expressions

    2.7 The for Loop

    2.8 Making C Readable-Programming Style

    Language Elements Introduced in This Chapter: A Review

    Things to Remember

    Exercises and Programming Problems

    Chap. 3   Basic Data Types

    3.1 Introduction to Scalar Types in C

    3.2 Integers and Different Integer Bases 

    3.3 The Integer Types 

    3.4 The size of() Operator

    3.5 Character Variables 

    3.6 Unsigned Types  

    3.7 ANSI C and Integer Types 

    3.8 If There's Time or Need: Bit Operations on the Integer Types 

    3.9 Floating Point Types

    3.10 Types of Expressions and Automatic Conversions 

    3.11 Forced Type Conversions

    Language Elements Introduced in This Chapter: A Review

    Things to Remember

    Exercises and Programming Problems 

    Chap. 4  Arrays and Pointers

    4.1 One Dimensional Arrays  

    4.2 Initialization of Arrays

    4.3 Arrays as Parameters to Functions

    4.4 Getting Started with Pointers  

    4.5 Pointer Arithmetic  

    4.6 Dereferencing a Pointer Variable

    4.7 An Array as a Pointer

    4.8 Passing Parameters to Functions 

    4.9 Searching and Sorting Arrays

    4.10 Pointers and Dynamic Memory Allocation 

    Language Elements Introduced in This Chapter: A Review

    Things to Remember

    Exercises and Programming Problems 

    Chap. 5   Strings  

    5.1 Introduction to Strings  

    5.2 Variable Strings 

    5.3 Input and Output of Strings 

    5.4 The Common String Library Functions 

    5.5 Examples with strlen() and strchr() 

    5.6 More Functions in the C String Library

    5.6 Two Versions of strcat() 

    Language Elements Introduced in This Chapter: A Review

    Things to Remember

    Exercises and Programming Problems  

    Chap. 6   Keeping Control

    6.1 Introduction 

    6.2 The do-while Statement 

    6.3 The switch Statement

    6.4 Altering the Flow of Control 

    6.5 Getting Out Gracefully

    6.6 If There's Time or Need: Using Recursion

    Language Elements Introduced in This Chapter: A Review

    Things to Remember

    Exercises and Programming Problems

    Chap. 7   Structuring the Data

    7.1 Introduction to Structures

    7.2 Operations on Structures

    7.3 Using Structures with Arrays and Pointers

    7.4 Bit Fields

    7.5 Enumerated Types

    7.6 Unions

    Language Elements Introduced in This Chapter: A Review

    Things to Remember

    Exercises and Programming Problems

    Chap. 8   Intra-program Communication

    8.1 Introduction

    8.2 Automatic versus Static Variables

    8.3 Global versus Local Variables

    8.4 Modules and External Variables

    8.5 Typedefs

    8.6 Function Definitions

    8.7 Function Declarations and Calls

    8.8 Pointers to Functions

    Language Elements Introduced in This Chapter: A Review

    Things to Remember

    Exercises and Programming Problems

    Chap. 9   Multidimensional Arrays and Double Indirection

    9.1 Two-Dimensional Arrays

    9.2 Storage Class and Scope of Multidimensional Arrays

    9.3 Multidimensional Arrays as Parameters to Functions

    9.4 Arrays with More Than Two Dimensions

    9.5 Arrays of Pointers

    9.6 Double Indirection

    9.7 Command Line Parameters

    Language Elements Introduced in This Chapter: A Review

    Exercises and Programming Problems

    Chap. 10   Input and Output

    10.1 Review of Input and Output

    10.2 An Introduction to Files in C

    10.3 Character Input and Output

    10.4 String Input and Output

    10.5 Reading Blocks of Data at a Time

    10.6 Formatted Input and Output

    10.7 Random versus Sequential Access in Files 

    Language Elements Introduced in This Chapter: A Review

    Things to Remember

    Exercises and Programming Problems 

    Chap. 11   C Library and Preprocessor Facilities

    11.1 Introduction to the C Library 

    11.2 Error Handling with the ANSI C Library

    11.3 Using Mathematical Functions

    11.4 Character Manipulation 

    11.5 Dynamic Allocation and De-allocation of Memory

    11.6 A Linked List-The Theory and an Example 

    11.7 Defining Macros

    11.8 Conditional Compilation 

    Language Elements Introduced in This Chapter: A Review

    Things to Remember

    Exercises and Programming Problems 

    Chap. 12   Discovering C++

    12.1 Introduction 

    12.2 Some Added Features

    12.3 C++ and OOP - Data Abstraction and Encapsulation 

    12.4 C++ and OOP - Polymorphism 

    12.5 C++ and OOP - Inheritance 

    12.6 More about I/O

    12.7 Libraries 

    C++ Language Elements Introduced in This Chapter: A Review

    Things to Remember

    Exercises and Programming Problems 

    Part II    The Programmer's Handbook

    A   Identifiers in ANSI C

    B   Keywords in C

    C   Declarations in C

    Storage Class Specifiers  C-1

    Type Qualifiers  C-1

    Type Specifications . C-2

    Initializers C-2

    Reading C Declarations . C-3

    D Operators and Expressions

     Operator Prescendence Chart

    E  Control Statements in C

    F  The Ansi C Library


    Instructor Resources