Week 1: Introduction to C Programming
- Overview of C: History, features, and applications.
- Setting Up: Installing a C compiler (GCC), IDE (Code::Blocks, Visual Studio Code).
- Basic Syntax: Structure of a C program,
main
function,printf
, andscanf
.
Week 2: Data Types and Variables
- Variables: Declaring and initializing variables.
- Data Types:
int
,float
,char
,double
,void
. - Constants: Using
#define
andconst
.
Week 3: Operators and Expressions
- Arithmetic Operators: Addition, subtraction, multiplication, division, modulus.
- Relational Operators: Equal to, not equal to, greater than, less than, etc.
- Logical Operators: AND, OR, NOT.
- Bitwise Operators: AND, OR, XOR, NOT, shift operators.
- Assignment Operators:
=
,+=
,-=
, etc. - Expressions: Combining operators and variables.
Week 4: Control Flow
- Conditional Statements:
if
,else if
,else
. - Switch Case: Using
switch
andcase
for multiple conditions. - Loops:
for
,while
,do-while
. - Control Flow Statements:
break
,continue
,goto
.
Week 5: Functions
- Defining Functions: Function declaration, definition, and calling.
- Function Parameters: Passing arguments by value.
- Return Values: Returning values from functions.
- Scope: Local vs global variables.
Week 6: Arrays and Strings
- Arrays: Declaring, initializing, accessing elements.
- Multidimensional Arrays: Working with 2D arrays.
- Strings: Declaring, initializing, string functions (
strcpy
,strlen
,strcmp
).
Week 7: Pointers
- Pointer Basics: Declaration, initialization, and dereferencing.
- Pointer Arithmetic: Incrementing/decrementing pointers.
- Pointers and Arrays: Relationship between arrays and pointers.
- Function Pointers: Using pointers to functions.
Week 8: Structures and Unions
- Structures: Defining and using structures.
- Nested Structures: Structures within structures.
- Unions: Defining and using unions.
- Enumerations: Defining and using enums.
Week 9: Dynamic Memory Allocation
- Memory Management:
malloc
,calloc
,realloc
,free
. - Pointers and Dynamic Memory: Using pointers for dynamic memory.
Week 10: File Handling
- File Operations: Opening, reading, writing, closing files.
- File Modes: Reading (
r
), writing (w
), appending (a
). - Binary Files: Reading and writing binary files.
Week 11: Preprocessor Directives
- Macros: Using
#define
for constants and macros. - File Inclusion:
#include
directive. - Conditional Compilation:
#ifdef
,#ifndef
,#endif
.