- Introduction to C Programming
- Data Types and Variables
- Operators and Expressions
- Arithmetic operators
- Relational operators
- Logical operators
- Bitwise operators
- Assignment operators
- Miscellaneous operators (sizeof, ternary, etc.)
- Operator precedence and associativity
- Control Structures
- Decision-making statements (if, if-else, nested if-else, switch-case)
- Looping statements (for, while, do-while)
- Nested loops
- Break and continue statements
- goto statement
- Functions
- Function declaration, definition, and calling
- Return values and types
- Parameter passing (call by value, call by reference)
- Recursion
- Storage classes (auto, extern, static, register)
- Inline functions
- Arrays and Strings
- One-dimensional arrays
- Multi-dimensional arrays
- Strings and string handling functions (strcpy, strcat, strcmp, strlen, etc.)
- Array of strings
- Pointers
- Basics of pointers
- Pointer arithmetic
- Pointers and arrays
- Pointers and strings
- Pointers to functions
- Pointers to pointers
- Dynamic memory allocation (malloc, calloc, realloc, free)
- Structures and Unions
- Defining and declaring structures
- Accessing structure members
- Array of structures
- Nested structures
- Structures and functions
- Pointers to structures
- Unions
- File Handling
- File operations (open, close, read, write, append)
- File modes
- File pointers
- End-of-file (EOF)
- Error handling in file operations
- Preprocessor Directives
- #define and macros
- #include
- Conditional compilation (#ifdef, #ifndef, #if, #endif)
- #undef
- Advanced Topics
- Command line arguments
- Variable argument list functions
- Memory management
- Linked lists
- Data structures (stack, queue, tree, graph)
- Bitwise operations
- Sorting and searching algorithms
- Debugging and Optimization
- Common debugging techniques
- Using debugging tools (gdb, valgrind, etc.)
- Code optimization techniques
- Standard Libraries
- Standard Input and Output Library (stdio.h)
- String Manipulation Library (string.h)
- Mathematical Library (math.h)
- Dynamic Memory Allocation Library (stdlib.h)
- Time and Date Library (time.h)
This syllabus covers the fundamental aspects of C programming, providing a solid foundation for understanding and using the language effectively.