Course Contents
Unit 1: Problem Solving with Computer (2 Hrs.)
- Problem Analysis
- Algorithms and Flowchart
- Coding, Compilation, and Execution
- History of C
- Structure of a C Program
- Debugging, Testing, and Documentation
Unit 2: Elements of C (4 Hrs.)
- C Standards (ANSI C and C99)
- C Character Set
- C Tokens
- Escape Sequences and Delimiters
- Variables and Data Types (Basic, Derived, and User Defined)
- Structure of a C Program
- Executing a C Program
- Constants/Literals
- Expressions, Statements, and Comments
Unit 3: Input and Output (2 Hrs.)
- Conversion Specification
- Reading and Writing Characters
- I/O Operations
- Formatted I/O
Unit 4: Operators and Expressions (4 Hrs.)
- Arithmetic Operators
- Relational Operators
- Logical (Boolean) Operators
- Assignment Operators
- Ternary Operator
- Bitwise Operators
- Increment and Decrement Operators
- Conditional Operator
- Special Operators (sizeof and comma)
- Evaluation of Expressions
- Operator Precedence and Associativity
Unit 5: Control Statements (4 Hrs.)
- Conditional Statements
- Decision Making and Branching
- Decision Making and Looping
- Exit Function
- Break and Continue
Unit 6: Arrays (6 Hrs.)
- Introduction to Arrays
- Types of Arrays (Single Dimensional and Multidimensional)
- Declaration and Memory Representation of Arrays
- Initialization of Arrays
- Character Arrays and Strings
- Reading and Writing Strings
- Null Character
- String Library Functions (String Length, String Copy, String Concatenation, String Compare)
Unit 7: Functions (5 Hrs.)
- Library Functions
- User-Defined Functions
- Function Prototype, Function Call, and Function Definition
- Nested and Recursive Functions
- Function Arguments and Return Types
- Passing Arrays to Functions
- Passing Strings to Functions
- Passing Arguments by Value and by Address
- Scope, Visibility, and Lifetime of Variables
- Local and Global Variables
Unit 8: Structure and Union (5 Hrs.)
- Introduction to Structures
- Array of Structures
- Passing Structures to Functions
- Passing Arrays of Structures to Functions
- Nested Structures
- Union
- Pointer to Structure
Unit 9: Pointers (6 Hrs.)
- Introduction to Pointers
- The & and * Operators
- Declaration of Pointers
- Chain of Pointers
- Pointer Arithmetic
- Pointers and Arrays
- Pointers and Character Strings
- Array of Pointers
- Pointers as Function Arguments
- Functions Returning Pointers
- Pointers and Structures
- Dynamic Memory Allocation
Unit 10: File Handling in C (4 Hrs.)
- Concept of Files
- Opening and Closing Files
- Input and Output Operations in Files
- Random Access in Files
- Error Handling in Files
Unit 11: Introduction to Graphics (3 Hrs.)
- Concepts of Graphics
- Graphics Initialization and Modes
- Graphics Functions
Laboratory Works
This course requires extensive programming practice. Each topic must be accompanied by a practical session, including:
- Creating, compiling, and running simple C programs
- Handling different data types available in C
- Performing arithmetic operations
- Formatted input and output operations
- Character input and output operations
- Logical operations, decision-making programs, and loops
- User-defined and recursive functions
- Automatic, global, and static variables
- Arrays and matrices (single and multidimensional)
- Pointers, dynamic memory allocation, and deallocation
- String manipulation using various string handling functions
- Structures and files for record-keeping (students, employees, etc.)
Text Books
- Byron Gottfried: Programming with C, Second Edition, McGraw Hill Education
- Herbert Schildt: C The Complete Reference, Fourth Edition, Osborne/McGraw Hill Publication
Reference Books
- Paul Deitel, Harvey Deitel: C: How to Program, Eighth Edition, Pearson Publication
- Al Kelley, Ira Pohl: A Book on C, Fourth Edition, Pearson Education
- Brian W. Kernighan, Dennis M. Ritchie: The C Programming Language, Second Edition, PHI Publication
- Ajay Mittal: Programming in C: A Practical Approach, Pearson Publication
- Stephen G. Kochan: Programming in C, CBS Publishers & Distributors
- E. Balagurusamy: Programming in ANSI C, Third Edition, TMH Publishing