Preface
Syllabus and Mapping with Book Contents
1 Introduction to Computers, Programming and the C Language
1.1 Introduction to Computers
1.2 Program Development
1.3 Structured and Modular Programming
1.4 Flowcharts
1.5 Algorithms and Pseudocode
1.6 Introduction to C Programming Language
Exercises
2 Representing Data
2.1 Character Set
2.2 Keywords
2.3 Basic Data Types
2.4 Constants
2.5 Identifiers
2.6 Variables
2.7 Symbolic Constants
2.8 Type Suffixes, Modifiers and Qualifiers
2.9 Constants in Octal and Hexadecimal Form
Exercises
3 Operators and Expressions
3.1 Operators
3.2 Expressions
3.3 Assignment
3.4 Relational and Equality Operators and Expressions
3.5 Logical Operators and Boolean Expressions
3.6 Additional Operators
Exercises
4 The C Standard Library
4.1 About the C Standard Library
4.2 Input and Output Facilities
4.3 Mathematical Library
4.4 Character Classification and Conversion
4.5 Utility Functions
Exercises
5 Conditional Control or Branching
5.1 The if Statement
5.2 Nested if Statements
5.3 The switch Statement
5.4 Conditional Expression (Ternary) Operator (? :)
5.5 goto Statement
Exercises
6 Looping Control
6.1 The for Loop
6.2 The while Loop
6.3 The do … while Loop
6.4 Intricacies of Loops
6.5 Using if Statements within Loops
6.6 Nested Loops
6.7 Using switch Statements within Loops
6.8 Loop Interruption (break and continue statements)
6.9 goto Statement and Loops
Exercises
7 Functions
7.1 Functions
7.2 User-defined Functions
7.3 Call by Value Mechanism of Parameter Passing
7.4 Program Structure
7.5 void and Parameter-less Functions
7.6 Recursion
Exercises
8 Vectors or One-dimensional Arrays
8.1 Introduction
8.2 One-dimensional Arrays
8.3 Arrays as Function Parameters
8.4 const, static and External Arrays
8.5 Searching
8.6 Sorting
Exercises
9 Matrices and Multidimensional Arrays
9.1 Two-dimensional Arrays or Matrices
9.2 Multidimensional Arrays
9.3 Additional Concepts
Exercises
10 Strings
10.1 Character Strings
10.2 String I/O (Printing and Reading Strings)
10.3 String Manipulation Functions
10.4 Processing Strings Using Loops
10.5 Writing Functions for String Processing
10.6 Array of Strings
Exercises
11 Structures
11.1 Structures
11.2 Structures Containing Arrays
11.3 Nested Structures
11.4 Structures and Functions
11.5 Array of Structures
11.6 Type Definition and Structure Data Types
11.7 Unions
Exercises
12 Files
12.1 File Basics
12.2 File Access Functions
12.3 Character I/O
12.4 Formatted I/O
12.5 Direct I/O
12.6 File Positioning
Exercises
13 Pointers
13.1 Pointers and Address
13.2 Pointers and Function Arguments (Call by Reference)
13.3 Pointers and Arrays
13.4 Character Pointer and Functions
13.5 Pointer to a Pointer
13.6 Array of Pointers
13.7 Dynamic Memory Management
13.8 Pointer to a Structure
13.9 Complex Declarations Involving Pointers
Exercises
14 C Preprocessor
14.1 Introduction to the C Preprocessor
14.2 File Inclusion
14.3 Macro Expansion
14.4 Conditional Compilation
14.5 Miscellaneous Concepts
14.6 Debugging Programs using Conditional Compilation
14.7 Writing Multi-File Programs
Exercises
15 Introduction to Data Structures
15.1 Data Structures
15.2 Stack
15.3 Queue
15.4 Linked List
15.5 Tree
Exercises
16 Laboratory Programs (Part B: Problem Solving in C)
Appendix A. The ASCII Character Set
Appendix B. Summary of C Operators
Appendix C. Past Question Papers