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. |
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.