did-you-know? rent-now

Amazon no longer offers textbook rentals. We do!

did-you-know? rent-now

Amazon no longer offers textbook rentals. We do!

We're the #1 textbook rental company. Let us show you why.

9780023611414

Applications Programming in ANSI C

by ;
  • ISBN13:

    9780023611414

  • ISBN10:

    0023611413

  • Edition: 3rd
  • Format: Paperback
  • Copyright: 1995-12-26
  • Publisher: Pearson
  • Purchase Benefits
  • Free Shipping Icon 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.
  • eCampus.com Logo Get Rewarded for Ordering Your Textbooks! Enroll Now
List Price: $199.99

Summary

Appropriate for a one-term course focusing on C as a language for applications programming.The text takes a true introductory approach by assuming no prior programming experience in C or any other language.

Table of Contents

0 COMPUTER SYSTEMS AND PROGRAM DEVELOPMENT
1(30)
0.1 Algorithms
2(2)
0.2 Computer Systems
4(4)
0.3 Internal Representations
8(10)
Integers
9(2)
Floating-Point Numbers
11(4)
Characters
15(1)
Machine Instructions
16(1)
Bit Strings in Memory
16(2)
0.4 Programming Languages
18(4)
0.5 Problem Solving and Program Development
22(5)
Problem Specification
22(1)
Algorithm Design and Problem-Solving Strategies
23(2)
Additional Problem-Solving Strategies
25(1)
Testing by Hand
25(1)
Coding and Testing
26(1)
0.6 Why C?
27(4)
Portability
27(1)
Efficiency
28(1)
Expressive Power
28(1)
Arithmetic Types
28(1)
Modularity
28(1)
Simple Syntax and Semantics
28(1)
Run-Time Function Libraries
29(1)
Programming Support
29(2)
1 INTRODUCTION TO C
31(36)
1.1 A First C Program
32(2)
1.2 Sample Application: Conversion of Lengths
34(5)
1.3 Identifiers
39(1)
1.4 The while Statement
40(3)
1.5 The do while Statement
43(1)
1.6 Sample Application: Computing Income Tax
44(3)
1.7 The if Statement
47(7)
1.8 More on the if Statement
54(6)
1.9 Redirecting Input and Output
60(2)
1.10 Files
62(3)
Common Programming Errors
65(1)
Programming Exercises
66(1)
2 VARIABLES, OPERATORS, AND CONTROL FLOW
67(46)
2.1 Characters and Integers
68(9)
2.2 Floating-Point Variables
77(4)
2.3 Arithmetic Operations
81(5)
2.4 Relational and Logical Operators and the Assignment Operator
86(8)
2.5 Sample Application: Statistical Measures
94(3)
2.6 The for Statement and the Comma Operator
97(4)
2.7 The Operators ++ and --
101(4)
2.8 Sample Application: Printing a Bar Graph
105(3)
Common Programming Errors
108(1)
Programming Exercises
109(4)
3 MORE OPERATORS AND CONTROL FLOW
113(38)
3.1 The break and continue Statements
114(5)
3.2 Sample Application: Generating Prime Numbers
119(3)
3.3 The switch Statement
122(6)
3.4 The goto Statement and Labels
128(1)
3.5 Conditional Expressions
129(1)
3.6 Sample Application: Printing a Calendar
130(4)
3.7 The Cast Operator
134(1)
3.8 The sizeof Operator
135(1)
3.9 getchar and putchar
136(5)
3.10 Bitwise Operators
141(6)
Bitwise Complement Operator
141(1)
Bitwise Logical Operators
141(2)
Bitwise Shift Operators
143(4)
Common Programming Errors
147(1)
Programming Exercises
148(3)
4 FUNCTIONS AND PROGRAM STRUCTURE
151(80)
4.1 Introduction
152(11)
Function Terminology
153(2)
The return Statement
155(1)
Function Declarations
156(2)
The main Function
158(2)
Functions in Source Files
160(1)
Functions and Program Design
160(3)
4.2 Arguments and Parameters
163(2)
Matching Parameters with Arguments
163(1)
Order of Evaluation of Arguments
164(1)
4.3 Call by Value
165(5)
4.4 Sample Application: Computing Resistance
170(3)
4.5 The Scope of Variables
173(2)
Variables Local to a Function
174(1)
4.6 The Preprocessor
175(14)
File Inclusions
176(1)
Using One File Inclusion
177(2)
Parameterized Macros
179(1)
Parameterized Macros Versus Functions
180(2)
The Convenience of Macros
182(1)
Miscellaneous Directives
182(7)
4.7 Sample Application: Simulating a Dice Game
189(7)
4.8 Recursion
196(10)
4.9 Sample Application: Recursive Tiling
206(9)
4.10 Functions with an Arbitrary Number of Arguments
215(4)
Common Programming Errors
219(5)
Programming Exercises
224(7)
5 ARRAYS
231(75)
5.1 Why Arrays?
232(1)
5.2 Array Indexes and Cell Offsets
232(10)
Arrays and Pointers
236(3)
Implementation Issues: What the C Programmer Can Ignore
239(1)
The sizeof Operator and Arrays
239(3)
5.3 Sample Application: Tracking and Reporting Car Sales
242(5)
5.4 Character Strings as Arrays of Characters
247(6)
5.5 Sample Application: Formatting Text with a Given Line Length
253(2)
5.6 Arrays as Function Arguments
255(5)
5.7 String-Handling Functions
260(11)
strcat, strncat
260(2)
strcmp, strncmp
262(1)
strcpy, strncpy
263(1)
strlen
264(1)
strstr, strchr, strrchr
265(6)
5.8 Sample Application: Computing a String's Length
271(1)
5.9 Multidimensional Arrays
272(6)
The Convenience of Multidimensional Arrays
272(2)
Multidimensional Arrays as Arrays of Arrays
274(1)
Initializing Multidimensional Arrays
274(1)
Multidimensional Arrays as Arguments
275(3)
5.10 Sample Application: Matrix Multiplication
278(4)
5.11 Sample Application: Sorting and Searching
282(7)
5.12 Sample Application: Forest Fire Percolation
289(5)
Common Programming Errors
294(2)
Programming Exercises
296(10)
6 POINTERS
306(81)
6.1 Pointer Variables
306(11)
Initializing a Pointer
313(2)
Restrictions on the Address Operator
315(2)
6.2 Levels of Indirection
317(4)
6.3 Pointers and Arrays
321(19)
Pointers to char and Arrays of Type char
322(3)
Arrays and Pointer Arithmetic
325(3)
Pointer Operations
328(5)
Range for Pointers to Array Cells
333(1)
The Equivalence of Array and Pointer Syntax
333(1)
Mixing Array and Pointer Syntax
334(6)
6.4 Pointers as Arguments to Functions
340(11)
6.5 Sample Application: Reversing a String in Place
351(4)
6.6 Sample Application: Parallel Computing
355(9)
6.7 Pointers and Multidimensional Arrays
364(5)
6.8 Command Line Arguments
369(3)
6.9 Pointers to Functions
372(2)
6.10 Sample Application: Comparing Sorting Algorithms
374(5)
Common Programming Errors
379(2)
Programming Exercises
381(6)
7 STORAGE CLASSES AND TYPE QUALIFIERS
387(56)
7.1 Storage Classes in a Single-Source File:
388(8)
auto, extern, static
388(1)
auto
388(2)
extern
390(1)
static
391(5)
7.2 Sample Application: Breaking Text into Pages
396(4)
7.3 The Storage Class register
400(1)
7.4 Storage Classes in Multiple-Source Files
401(6)
7.5 Sample Application: An Interactive Calculator
407(6)
7.6 Nested Blocks
413(5)
7.7 Storage Classes for Functions
418(1)
7.8 Type Qualifiers: const and volatile
419(12)
const
420(2)
const Variables and Macros
422(1)
Limits to const
423(1)
const Pointer Parameters
423(1)
volatile
424(1)
Type Qualifiers in Combination
424(4)
Type Qualifiers and Compiler Optimization
428(3)
7.9 Sample Application: A Scheduling Problem
431(6)
Common Programming Errors
437(2)
Programming Exercises
439(4)
8 INPUT AND OUTPUT
443(54)
8.1 Opening and Closing Files
444(4)
8.2 Character Input/Output
448(3)
fgetc, getc, getchar
449(1)
fputc, putc, putchar
449(2)
8.3 Sample Application: Determining a Source File's Size in Bytes
451(1)
8.4 String Input/Output
452(4)
fgets, gets
452(2)
fputs, puts
454(2)
8.5 Formatted Input/Output
456(15)
scanf, fscanf, sscanf
456(6)
printf, fprintf, sprintf
462(3)
Character Conversion and Character Testing Functions
465(6)
8.6 Unformatted Input/Output
471(2)
fwrite
471(1)
fread
472(1)
8.7 Moving Around in a File: fseek, ftell, rewind
473(4)
8.8 Sample Application: A Random Access File
477(12)
Common Programming Errors
489(1)
Programming Exercises
490(7)
9 STRUCTURES, UNIONS, AND ENUMERATED TYPES
497(72)
9.1 Introduction to Structures
498(9)
9.2 Sample Application: Pattern Recognition
507(6)
9.3 The typedef Construct
513(3)
typedef and Code Portability
514(1)
typedef and Structures
514(2)
9.4 Operations on Structures
516(4)
Initializing Members of Structures
516(2)
The Assignment Operator Applied to Structure Variables
518(2)
9.5 Pointers to Structures, Nested Structures, and Self-referential Structures
520(9)
Pointers to Structures
520(5)
Nested Structures
525(2)
Self-referential Structures
527(2)
9.6 Structures and Functions
529(8)
Passing Structures by Value
529(3)
Passing Pointers to Structures
532(2)
Structures as const Arguments
534(3)
9.7 Sample Application: Sales Reporting
537(17)
Quicksort
550(4)
9.8 Unions and Bit Fields
554(4)
Unions
554(2)
Bit Fields
556(2)
9.9 Enumerated Types
558(4)
Common Programming Errors
562(2)
Programming Exercises
564(5)
10 INTRODUCTION TO DATA STRUCTURES
569(110)
10.1 Compile-Time and Run-Time Storage Allocation
571(8)
malloc: A Function for Run-Time Storage Allocation
572(2)
calloc: Another Function for Run-Time Storage Allocation
574(1)
Accessing Run-Time Storage
574(1)
Releasing Run-Time Storage
575(1)
Garbage
576(3)
10.2 Linked Lists
579(15)
Run-Time Allocation of Nodes
584(3)
Operations on Linked Lists
587(7)
10.3 Sample Application: A Text Editor
594(17)
10.4 Stacks and Queues
611(13)
Stacks
612(6)
Queues
618(6)
10.5 Sample Application: Converting from Infix to Postfix
624(9)
10.6 Graphs and Trees
633(7)
10.7 Tree Traversals
640(6)
Representing Binary Trees
642(4)
10.8 Breadth-First Search and Depth-First Search
646(11)
Representing Graphs
647(10)
10.9 Sample Application: Heuristic Graph Search
657(13)
Common Programming Errors
670(1)
Programming Exercises
671(8)
11 ADVANCED TOPICS
679(46)
11.1 Assertions
680(7)
11.2 Exception-Handling and Jumps
687(10)
Exceptions and Nonlocal Jumps
689(8)
11.3 Graphics Support for C
694(5)
Video Display
694(1)
Control
695(1)
Error Handling
696(1)
Drawing
696(1)
Text Output
697(1)
Color
698(1)
Status
698(1)
11.4 Sample Application: Fractals
699(8)
11.5 C and C++
707(18)
Object-Oriented Design
708(2)
Classes and Abstract Data Types
710(3)
Inheritance
713(3)
Polymorphism
716(1)
Sample C++ Program
717(6)
Programming Exercises
723(2)
A ASCII AND EBCDIC TABLES 725(8)
B SUMMARY OF THE C LANGUAGE 733(12)
C SYNTAX DIAGRAMS OF C 745(16)
D SOME C FUNCTIONS 761(24)
E C AND UNIX 785(14)
F VAX-11 C, BORLAND C++, AND MICROSOFT C++ 799(12)
G CHANGES FROM TRADITIONAL C 811(4)
HINTS AND SOLUTIONS TO ODD-NUMBERED EXERCISES 815(52)
INDEX 867

Supplemental Materials

What is included with this book?

The New copy of this book will include any supplemental materials advertised. Please check the title of the book to determine if it should include any access cards, study guides, lab manuals, CDs, etc.

The Used, Rental and eBook copies of this book are not guaranteed to include any supplemental materials. Typically, only the book itself is included. This is true even if the title states it includes any access cards, study guides, lab manuals, CDs, etc.

Rewards Program