Syllabus
14 Sections · 74 Topics · 3 projects · 40+ Tests & Assignments
1
Introduction to C Programming
- Introduction to Programming
- What is Programming?
- History of C Language
- Features and Importance of C
- Applications of C
- Setting Up Environment
- Installing IDEs (Turbo C, GCC, CodeBlocks, etc.)
- Writing and Executing First C Program
- Basic Structure of C Program
- Syntax and Semantics
- #include and Header Files
- main() Function
- Compilation, Debugging, and Execution Process
2
Data Types, Variables, and Operators
- Introduction of HTML
- Data Types
- Integer, Float, Double, Char
- Void and Derived Data Types
- Variables and Constants
- Declaration and Initialization
- Scope and Lifetime of Variables
- Constant Qualifier (const)
- Operators
- Arithmetic, Relational, Logical
- Assignment and Compound Operators
- Increment and Decrement Operators
- Bitwise Operators
- Ternary (?:) Operator
3
Input/Output in C
- Formatted I/O
- printf() and scanf()
- Format Specifiers
- Escape Sequences
- Unformatted I/O
- getchar(), putchar()
- gets(), puts()
4
Control Structures
-
Conditional Statements
-
if, if-else, else-if ladder
-
Nested if statements
-
Switch-case statements
-
Looping Constructs
-
for, while, do-while loops
-
Break and Continue Statements
-
Nested Loops
-
Decision Making in C
-
Conditional Expressions
-
goto Statement
5
Functions in C
-
Defining and Using Functions
-
Syntax, Return Types, and Parameters
-
Function Call by Value and Reference
-
Types of Functions
-
Built-in (Library) Functions
-
User-defined Functions
-
Recursion
-
Recursive Functions
-
Use-cases (Factorial, Fibonacci, etc.)
-
Function Prototyping
-
Scope of Variables
-
Storage Classes (auto, static, extern, register)
6
Arrays and Strings
-
Introduction to Arrays
-
Declaration and Initialization
-
Accessing and Modifying Elements
-
Multi-dimensional Arrays
-
Working with Strings
-
Declaration of String Variables
-
String Handling Functions (strlen(), strcpy(), strcmp(), strcat())
-
String I/O Operations
7
Pointers in C
-
Introduction to Pointers
-
Pointer Variables and * (Dereferencing)
-
Pointer Arithmetic
-
Null and Void Pointers
-
Pointers and Arrays
-
Relationship Between Arrays and Pointers
-
Passing Arrays to Functions Using Pointers
-
Pointers and Functions
-
Call by Reference
-
Returning Pointers from Functions
-
Dynamic Memory Allocation
-
malloc(), calloc(), realloc(), free()
8
Structures and Unions
-
Defining Structures
-
Declaring and Initializing Structures
-
Accessing Structure Members
-
Nested Structures
-
Unions
-
Difference Between Structure and Union
-
Use Cases of Union
-
Pointers to Structures
-
Passing Structures to Functions
9
File Handling
-
File Operations
-
Opening and Closing Files
-
Reading from and Writing to Files (fopen(), fclose(), fscanf(), fprintf())
-
File Pointers
-
fgetc(), fputc(), fgets(), fputs()
-
File Modes
-
Text and Binary Files
-
Error Handling in File Operations
10
Preprocessor Directives and Macros
-
Preprocessor Commands
-
#define, #include, #ifdef, #ifndef
-
Conditional Compilation
-
Macros
-
Macro Substitution
-
Parameterized Macros
11
Advanced Topics
-
Dynamic Data Structures
-
Linked Lists (Singly and Doubly Linked)
-
Stacks and Queues Using Linked Lists
-
Memory Management
-
Memory Leaks and Optimization
-
Handling Memory with free()
-
Command-line Arguments
-
Using argc and argv
-
Application of Command-line Arguments
-
C Libraries and Header Files
-
Common C Libraries (<math.h>, <time.h>, etc.)
-
Creating and Using Custom Header Files
12
Debugging and Error Handling
-
Common Errors in C
-
Syntax vs Logical Errors
-
Segmentation Faults
-
Memory Leaks
-
Debugging Techniques
-
Using GDB (GNU Debugger)
-
Breakpoints and Step-by-Step Execution
-
Logging with fprintf() and Debug Mode
-
Project Guidelines
-
Writing Efficient Code
-
Documentation and Commenting
-
Project Topics:
Basic Calculator,
Inventory Management System,
Mini-Banking System,
Student Record Management System
Simple Calculator
Matrix Operations
Library Management System
Basic File Operations (e.g., Contact Book)
Simulation of Data Structures (Queue, Stack)