C by Dissection The Essentials of C Programming

ISBN-10: 0201713748
ISBN-13: 9780201713749
Edition: 4th 2001 (Revised)
Authors: Al Kelley, Ira Pohl
List price: $170.00 Buy it from $3.00
This item qualifies for FREE shipping

*A minimum purchase of $35 is required. Shipping is provided via FedEx SmartPost® and FedEx Express Saver®. Average delivery time is 1 – 5 business days, but is not guaranteed in that timeframe. Also allow 1 - 2 days for processing. Free shipping is eligible only in the continental United States and excludes Hawaii, Alaska and Puerto Rico. FedEx service marks used by permission."Marketplace" orders are not eligible for free or discounted shipping.

30 day, 100% satisfaction guarantee

If an item you ordered from TextbookRush does not meet your expectations due to an error on our part, simply fill out a return request and then return it by mail within 30 days of ordering it for a full refund of item cost.

Learn more about our returns policy

Description: C by Dissection presents a thorough introduction to the programming process by carefully developing working programs to illuminate key features of the C programming language. This book presents the concepts of the programming process using the  More...

Used Starting from $101.75
New Starting from $150.63
what's this?
Rush Rewards U
Members Receive:
coins
coins
You have reached 400 XP and carrot coins. That is the daily max!
You could win $10,000

Get an entry for every item you buy, rent, or sell.

Study Briefs

Limited time offer: Get the first one free! (?)

All the information you need in one place! Each Study Brief is a summary of one specific subject; facts, figures, and explanations to help you learn faster.

Add to cart
Study Briefs
Business Ethics Online content $4.95 $1.99
Add to cart
Study Briefs
Business Law Online content $4.95 $1.99
Add to cart
Study Briefs
Management Online content $4.95 $1.99

Customers also bought

Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading

Book details

List price: $170.00
Edition: 4th
Copyright year: 2001
Publisher: Addison Wesley
Publication date: 10/30/2000
Binding: Paperback
Pages: 641
Size: 7.25" wide x 8.75" long x 1.00" tall
Weight: 2.134
Language: English

C by Dissection presents a thorough introduction to the programming process by carefully developing working programs to illuminate key features of the C programming language. This book presents the concepts of the programming process using the "dissection" method. Dissection is a unique tool first developed by the authors to point out key features of program code. It is similar to a structured walk-through of the code, with the intention of explaining newly encountered programming elements and idioms as found in working code. Each chapter presents a number of carefully explained programs, which lead the reader in a holistic manner to ever-improving programming skills. Right from the start, the reader is introduced to complete programs, and at an early point in the book is introduced to writing functions as a major feature of structured programming. This edition features expanded treatment of pointers, memory management, and recursion. It also takes into account the fact that many people are learning Java as a first language and then going to C, or vice-versa, and calls out those topics that present a challenge when making such transitions (e.g. i/o, data types). This book assumes no programming background and can be used by first-time computer users or by experienced programmers who are transitioning to C.

Writing an ANSI C Program
Getting Ready to Program
A First Program
Variables, Expressions, and Assignments
Initialization
The Use of #define and #include
The Use of printf() and scanf()
The Use of printf()
The Use of scanf()
The while Statement
Problem Solving: Computing Sums
Style
Common Programming Errors
System Considerations
Writing and Running a C Program
Interrupting a Program
Typing an End-of-File Signal
Redirection of the Input and the Output
Moving to C++
Summary
Exercises
Lexical Elements, Operators, and the C System
Characters and Lexical Elements
Comments
Keywords
Identifiers
Constants
String Constants
Operators and Punctuators
Precedence and Associativity of Operators
Increment and Decrement Operators
Assignment Operators
An Example: Computing Powers of 2
The C System
The Preprocessor
The Standard Library
Style
Common Programming Errors
System Considerations
Moving to C++
Summary
Exercises
Flow of Control
Relational, Equality, and Logical Operators
Relational Operators and Expressions
Equality Operators and Expressions
Logical Operators and Expressions
Short-Circuit Evaluation
The Compound Statement
The Empty Statement
The if and if-else Statements
The while Statement
Problem Solving: Finding Maximum Values
The for Statement
Problem Solving: Combinatorics
Problem Solving: Boolean Variables
The Comma Operator
The do Statement
The goto Statement
The break and continue Statements
The switch Statement
Nested Flow of Control
The Conditional Operator
Style
Common Programming Errors
System Considerations
Moving to C++
Summary
Exercises
Functions and Structured Programming
Function Invocation
Function Definition
The return Statement
Function Prototypes
Top-Down Design
Program Correctness: The assert() Macro
Function Declarations from the Compiler's Viewpoint
Limitations
Problem Solving: Random Numbers
An Alternate Style for Function Definition Order
Developing a Large Program
What Constitutes a Large Program?
A Simulation: The Game of Heads or Tails
Invocation and Call-by-Value
Recursion
Style
Common Programming Errors
System Considerations
Moving to C++
Function Prototypes in C++
Summary
Exercises
Character Processing
The Data Type char
The Use of getchar() and putchar()
An Example: Capitalize
The Macros in ctype.h
Problem Solving: Repeating Characters
Problem Solving: Counting Words
Style
Common Programming Errors
System Considerations
Moving to C++
Summary
Exercises
The Fundamental Data Types
Declarations and Expressions
The Fundamental Data Types
Characters and the Data Type char
The Data Type int
The Integral Types short, long, and unsigned
The Floating Types
The sizeof Operator
Mathematical Functions
Conversions and Casts
The Integral Promotions
The Usual Arithmetic Conversions
Casts
Problem Solving: Computing Interest
Style
Common Programming Errors
System Considerations
Moving to C++
Summary
Exercises
Enumeration Types and typedef
Enumeration Types
The Use of typedef
An Example: The Game of Paper, Rock, Scissors
Style
Common Programming Errors
System Considerations
Moving to C++
Summary
Exercises
Functions, Pointers, and Storage Classes
Pointer Declaration and Assignment
Addressing and Dereferencing
Pointers to void
Call-by-Reference
Scope Rules
Storage Classes
The Storage Class auto
The Storage Class extern
The Storage Class register
The Storage Class static
Static External Variables
Default Initialization
An Example: Processing Characters
Function Declarations and Definitions
The Type Qualifiers const and volatile
Style
Common Programming Errors
System Considerations
Moving to C++
Summary
Exercises
Arrays and Pointers
One-Dimensional Arrays
Initialization
Subscripting
An Example: Counting Each Letter Separately
The Relationship Between Arrays and Pointers
Pointer Arithmetic and Element Size
Passing Arrays to Functions
A Sorting Algorithm: Bubble Sort
Two-Dimensional Arrays
Multidimensional Arrays
Dynamic Memory Allocation
Style
Common Programming Errors
System Considerations
Moving to C++
Summary
Exercises
Strings and Pointers
The End-of-String Sentinel \0
Initialization of Strings
An Example: Have a Nice Day
Using Pointers to Process a String
Problem Solving: Counting Words
Passing Arguments to main()
String Handling Functions in the Standard Library
Style
Common Programming Errors
System Considerations
Moving to C++
Summary
Exercises
Recursion
Recursive Problem Solving
An Example: Drawing Patterns on the Screen
String Handling Using Recursion
The Divide-and-Conquer Methodology
Style
Common Programming Errors
System Considerations
Moving to C++
Summary
Exercises
Structures and ADTs
Declaring Structures
Accessing a Member
Operator Precedence and Associativity: A Final Look
Structures, Functions, and Assignment
Problem Solving: Student Records
Initialization of Structures
The Use of typedef
Self-Referential Structures
Linear Linked Lists
Dynamic Storage Allocation
List Operations
Counting and Lookup
Insertion and Deletion
Style
Common Programming Errors
System Considerations
Moving to C++
Classes
Summary
Exercises
Input/Output and Files
The Output Function printf()
The Input Function scanf()
Directives in the Control String
Ordinary Characters
White Space Characters
Conversion Specifications
Floating Numbers in the Input Stream
Using the Scan Set
The Return Value
A scanf() Example
The functions sprintf() and sscanf()
The functions fprintf() and fscanf()
Accessing Files
An Example: Double-Spacing a File
Using Temporary Files and Graceful Functions
Accessing a File Randomly
Style
Common Programming Errors
The Function sscanf() Is Different
System Considerations
Moving to C++
Summary
Exercises
Software Tools
Executing Commands From Within a C Program
Environment Variables
The C Compiler
Creating a Library
Using the Profiler
How to Time C Code
The Use of dbx
The Use of make
The Use of touch
Other Useful Tools
Style
Common Programming Errors
System Considerations
Summary
Exercises
From C to C++
Object-Oriented Programming
Why Switch to C++?
Classes and Abstract Data Types
Overloading
Constructors and Destructors
Inheritance
Polymorphism
Templates
C++ Exceptions
Benefits Of Object-Oriented Programming
Style
Common Programming Errors
System Considerations
Summary
Exercises
From C To C++
Output
Input
Classes and Abstract Data Types
Overloading
Constructors and Destructors
Object-oriented Programming and Inheritance
Style
Common Programming Errors
System Considerations
Summary
Exercises
The Standard Library
Diagnostics: assert.h
Character Handling: ype.h
Testing a Character
Mapping a Character
Errors: errno.h
Floating Limits: float.h
Integral Limits: limits.h
Localization: local.h
Mathematics: math.h
Nonlocal Jumps: setjmp.h
Signal Handling: signal.h
Variable Arguments: stdard.h
Common Definition: stddef.h
Input/Output: stdio.h
Opening, Closing, and Conditioning a File
Accessing the File Position Indicator
Error Handling
Character Input/Output
Formatted Input/Output
Direct Input/Output
Removing or Renaming a File
General Utilities: stdlib.h
Dynamic Allocation of Memory
Searching and Sorting
Pseudo Random Number Generator
Communicating With the Environment
Integer Arithmetic
String Conversion
Multibyte Character Functions
Multibyte String Functions
Leaving the Program
Memory and String Handling: string.h
Memory Handling Functions
String Handling Functions
Date and Time: time.h
Accessing the Clock
Accessing the Time
Miscellaneous
Using File Descriptors
Creating a Concurrent Process
Overlaying a Process
Interprocess Communication
Suspending Program Execution
The Preprocessor
The Use of #include
The Use of #define
Syntactic Sugar
Macros With Arguments
The Use of #undef
Conditional Compilation
Predefined Macros
The Operators # and ##
The assert() Macro
The Use of #error and #pragma
Line Numbers
Corresponding Functions
Bitwise Operators
Bitwise Operators and Expressions
Bitwise Complement
Two's Complement
Bitwise Binary Logical Operators
Left- and Right-Shift Operators
Masks
Printing an int Bitwise
Packing and Unpacking
Common Programming Errors
System Considerations
Summary
Exercises
ANSI C Compared To Traditional C
Types
Constants
Declarations
Initializations
Expressions
Functions
Conversions
Array Pointers
Structures and Unions
Preprocessor
Header Files
Miscellaneous
ASCII Character Codes
Operator Precedence and Associativity

×
Free shipping on orders over $35*

*A minimum purchase of $35 is required. Shipping is provided via FedEx SmartPost® and FedEx Express Saver®. Average delivery time is 1 – 5 business days, but is not guaranteed in that timeframe. Also allow 1 - 2 days for processing. Free shipping is eligible only in the continental United States and excludes Hawaii, Alaska and Puerto Rico. FedEx service marks used by permission."Marketplace" orders are not eligible for free or discounted shipping.

Learn more about the TextbookRush Marketplace.

×