SofTech - IT Solutions

SofTech

Home
Contact Login

C Programming

Course Syllabus

1. Introduction to C Programming

  • History, features, and applications of C.
  • Structure of a C program, compilation, and execution process.
  • Keywords, identifiers, and tokens. 

2. Fundamentals & Data Types

  • Data types (int, char, float, void, double), modifiers, and qualifiers.
  • Variables, constants, and enumeration constants.
  • Input and output functions (printfscanfgetcharputchar). 

3. Operators and Expressions

  • Arithmetic, relational, logical, bitwise, and assignment operators.
  • Increment/decrement, conditional (ternary), and size-of operators.
  • Operator precedence and associativity. 

4. Control Flow Statements

  • Decision-making: ifif-else, nested ifif-else-if ladder, switch case.
  • Loops: forwhiledo-while.
  • Unconditional statements: breakcontinuegoto

5. Functions and Storage Classes

  • Function prototyping, definition, and calling.
  • Parameters passing: Pass by value, pass by reference.
  • Recursion.
  • Storage classes: auto, register, static, extern. 

6. Arrays and Strings

  • One-dimensional and multi-dimensional arrays.
  • String handling functions (strlenstrcpystrcatstrcmp).
  • Array and string manipulation, sorting, and searching (linear/binary). 

7. Pointers

  • Pointer declaration, initialization, and dereferencing.
  • Pointer arithmetic and array-pointer relationship.
  • Pointer to pointer, function pointers. 

8. Structures and Unions

  • Defining and accessing structures.
  • Nested structures and arrays of structures.
  • Unions and typedef keyword. 

9. Memory Management & File Handling

  • Dynamic memory allocation: malloccallocreallocfree.
  • File operations: Opening, closing, reading, and writing files (fopenfclosefprintffscanf).
  • Command-line arguments. 

10. Advanced Topics (Optional/Advanced Syllabus)

  • C Preprocessor directives (#include#define#ifdef).
  • Advanced data structures (Linked lists, stacks, queues, trees).
  • Networking basics (socket programming).