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.

9780198065289

Programming in C 2/e

by ;
  • ISBN13:

    9780198065289

  • ISBN10:

    0198065280

  • Edition: 2nd
  • Format: Paperback
  • Copyright: 2012-01-12
  • Publisher: Oxford University Press
  • 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: $31.99

Summary

Beginning with the basic concept of programming, the book gives an exhaustive coverage of arrays, strings, functions, pointers, and data structures. Separate chapters on linked lists and stacks, queues, and trees, with their implementation in C, have been provided to simplify the learning of complex concepts. Some advanced features of C such as memory models, command-line arguments, and bitwise operators have also been included. Case studies demonstrating the use of C in solving mathematical as well as real-life problems have also been presented. This edition also highlights C99 features wherever relevant in the text. The book is easy-to-understand and student-friendly with plenty of programs complete with source codes, sample outputs, and test cases. Readers will find this book an excellent companion for self-study owing to its numerous examples, review questions, and programming exercises.

Author Biography



Pradip Dey, currently a faculty member at the RCC Institute of Information Technology, Kolkata, has over 15 years of teaching experience and about 24 years of industry experience.

Manas Ghosh, also working at the RCC Institute of Information Technology, Kolkata, has over 13 years experience of teaching and development in information technology.

Table of Contents

Introduction To Programming, Algorithms, And Flowcharts
Programs and Programming
System Software
Application Software
Programming Languages
System Programming Languages
Application Programming Languages
Low-level Languages
High-level Languages
Compiler, Interpreter, Loader, and Linker
Compiling and Executing High-level Language Programs
Linker
Loader
Linking Loader and Linkage Editor
Program Execution
Fourth Generation Languages
Fifth Generation Languages
Classification of Programming Languages
Procedural Languages
Problem-oriented Languages
Non-procedural Languages
Structured Programming Concept
Top-Down Analysis
Modular Programming
Structured Code
The Process of Programming
Algorithms
What is an Algorithm?
Different Ways of Stating Algorithms
The Key Features of an Algorithm and the Step Form
What are Variables?
Subroutines
A Strategy for Designing Algorithms
Tracing an algorithm to Depict Logic
Specification for converting algorithms into programs
Basics of C
Introduction
Why Learn C?
The Future of C
Standardizations of C Language
Developing Programs In C
A Simple C Program
Parts Of C Program Revisited
Structure Of A C Program
Concept Of A Variable
Datatypes In C
Program Statement
Declaration
How does the computer store things in memory?
How Integers Are Stored?
How Floats And Doubles Are Stored?
Token
Identifier
Keywords
Constant
Assignment
Initialization
Operators and Expressions
Expression Evaluation - Precedence and Associativity
Expressions Revisited
Lvalues And Rvalues
Type Conversion In C
Working With Complex Numbers
Input and Output
Introduction
Basic Screen and keyboard I/O in C
Non-formatted Input and Output
Single Character Input and Output
Single Character Input
Single Character Output
Additional Single Character Input and Output Functions
Worked-out Programs with getchar ( ) and putchar ( )
Formatted Input and Output Functions
Output Function printf ( )
Input Function scanf ( )
Worked-out Examples using scanf ( ) and printf ( )
Control Statements
Introduction
Specifying Test Condition for Selection and Iteration
Writing Test Expression
Understanding How True and False is Represented in C
Conditional Execution and Selection
Selection Statements
The Conditional Operator
The switch Statement
Iteration and Repetitive Execution
While Construct
For Construct
Do-while Construct
Which Loop Should be Used?
Using Sentinel Values
Using Prime Read
Using Counter
Goto Statement
Special Control Statements
Nested Loops
Arrays and Strings
Introduction
One-dimensional Array
Declaration of a One-dimensional Array
Initializing Integer Arrays
Accessing Array Elements
Other Allowed Operations
Internal Representation of Arrays in C
Variable Length Arrays and the C99 changes
Working with a One-dimensional Array
Strings: One-dimensional Character Arrays
Declaration of a String
String Initialization
Printing Strings
String Input
Character Manipulation in the String
String Manipulation
Multidimensional Arrays
Declaration of a Two-dimensional Array
Declaration of a Three-dimensional Array
Initialization of Multidimensional Arrays
Unsized Array Initializations
Accessing Multidimensional Arrays
Arrays of Strings: Two-dimensional Character Array
Initialization
Manipulating String Arrays
Functions
Introduction
Concept of Function
Why are functions needed?
Using Functions
Function prototype declaration
Function definition
Function calling
Call by Value Mechanism
Working with Functions
Passing Arrays to Functions
Scope and Extent
Concept of Global and Local Variables
Scope Rules
Storage Classes
Storage class specifiers for variables
Storage class specifiers for functions
Linkage
The Inline Function
Recursion
What is needed for implementing recursion?
How is Recursion implemented?
Comparing Recursion and Iteration
Searching and Sorting
Searching Algorithms
Sorting Algorithms
Analysis of Algorithms
Asymptotic Notation
Efficiency of Linear Search
Binary Search Analysis
Analysis of Bubble Sort
Analysis of Quick Sort
Disadvantages of Complexity Analysis
Pointers in C
Introduction
Understanding Memory Addresses
Address Operator (and)
Pointers
Declaring a Pointer
Initializing Pointers
Indirection Operator and Dereferencing
Void Pointer
Null Pointer
Use of Pointers
Arrays and Pointers
One-dimensional Arrays and Pointers
Passing an Array to a Function
Differences between Array Name and Pointer
Pointer and String
Pointer Arithmetic
Assignment
Addition or Subtraction on Integer
Subtraction of Pointers
Comparing Pointers
Pointers to Pointers
Array of Pointers
Address Operator (and)
Two-dimensional Arrays and Pointers
Passing Two-dimensional Array to a Function
Three-dimensional Arrays
Pointers to Functions
Declaration of a Pointer to a Function
Initialization of Function Pointers
Calling a Function using a Function Pointer
Passing a Function to Another Function
How to Return a Function Pointer
Arrays of Function Pointers
Dynamic Memory Allocation
Dynamic Allocation of Arrays
Freeing Memory
Reallocating Memory Blocks
Implementing Multidimensional Arrays using Pointers
Offsetting a Pointer
Memory Leak and Memory Corruption
Pointer and Const Qualifier
Pointer to Constant
Constant Pointers
Constant Parameters
User-defined Data Types and Variables: Structures, Unions, Enumerations, and Bitfields
Introduction
Structures
Declaring Structures and Structure Variables
Accessing the Members of a Structure
Initialization of Structures
Copying and Comparing Structures
Typedef and its Use in Structure Declarations
Nesting of Structures
Arrays of Structures
Initializing Arrays of Structures
Arrays within the Structure
Structures and Pointers
Structures and Functions
Union
Declaring a Union and its Members
Accessing and Initializing Members of a Union
Structure Versus Union
Enumeration Types
Bitfields
Files in C
Introduction
Using Files in C
Declaration of a File Pointer
Opening a File
Closing and Flushing Files
Working with Text Files
Character Input and Output
End of File (EOF)
Detecting the End of a File using feof() Function
Working with Binary Files
Direct File Input and Output
Sequential Versus Random File Access
Files of Records
Working with Files of Records
Random Access to Files of Records
Other File Management Functions
Deleting a File
Renaming a File
Low-Level I/O
Linked Lists
Introduction
Singly Linked Lists
Insertion of a Node in a Singly Linked List
Deletion of a Node from a Singly Linked List
Sorting a Singly Linked List
Destroying a Singly Linked List
More Complex Operations on Singly Linked Lists
Circular Linked Lists
Appending a Node
Displaying a Circular Linked List
Inserting a Node after a Specified Node
Inserting a Node before a Particular Node
Deleting a Node
Sorting a Circular Linked List
Doubly Linked Lists
Operations on Doubly Linked Lists
Advantages/Disadvantages of Doubly Linked Lists
Introduction to Circular Doubly Linked Lists
Applications of Linked Lists
Dynamic Storage Management
Garbage Collection and Compaction
Disadvantages of Linked Lists
Array versus Linked List Revisited
Advanced C
Introduction
Bitwise Operator
Bitwise AND
Bitwise OR
Bitwise Exclusive-OR
Bitwise NOT
Bitwise Shift Operator
Command-line Arguments
The C Preprocessor
The C Preprocessor Directives
Predefined Identifiers
Type Qualifier
Const Qualifier
Volatile Qualifier
Restrict Qualifier
Variable Length Argument List
Memory Models and Pointers
Stacks, Queues, and Trees
Introduction
Stack
Implementation Of Stack
Application Of Stack
Queue
Implementation of a queue
Other variations of queue
Applications of queue
Tree
Some basic tree terminology
Binary tree
Traversals of a binary tree
Kinds of binary trees
Binary search tree
Application of tree
Appendices
Index
Table of Contents provided by Publisher. All Rights Reserved.

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