Enquire Now

C Programming


This course familiarizes students with basic principles of programming. It introduces structured programming paradigm using a high level language called C. It covers the concept of problem solving techniques, program design, and basic elements of C along with the detailed concept of operators, statements, arrays, functions, pointers, structures and file handling.

  • 2 Month
  • Hindi,English

Course Description

The main objective of this course is to acquaint the students with good program design through structured programming paradigm for developing program for specific tasks using C Programming Language as well as to present the syntax and semantics of the C language.

Who can do?

  • Aspiring Software Developers
  • Computer Science and Engineering Students
  • Embedded Systems Developers
  • Career Changers
  • Hobbyists and Enthusiasts Developers
  • Seeking to Learn Low-Level Programming System
  • Administrators and IT Professionals

Job Oportunities

  • Software Developer / Engineer
  • Embedded Systems Developer
  • Systems Programmer
  • Firmware Engineer
  • Application Programmer
  • Game Developer
  • Operating Systems Developer
  • Security Analyst
  • Database Administrator (Entry-Level)
  • Technical Support Engineer

Course Curriculum

    • History and Advantages of C
    • Problems Analysis
    • Algorithm and Flowchart (introduction and characteristics of algorithm
    • introduction and symbols of flowchart start/stop
    • read/print, processing statement, condition check, direction of flow)
    • Structure of a C Program (preprocessor directive, #include and #define directives, header files and library files);
    • Writing, compiling, Debugging, Executing and Testing a C Program in windows and Linux/Unix like environment (compiler, integrated development environment, compiling and linking, compiler error, linker error, and run-time error)

    • C Tokens (keywords, identifiers, operators, constants, and special symbols);
    • C Character Sets (letters, digits, special characters and white spaces);
    • Data types (Basic, Derived, and User Defined), Constants and Variables;
    • Expression, Statements and Comments; Escape sequences and Delimiters

    • Conversion Specifiers;
    • I/O functions;
    • Formatted and Unformatted I/O (sacanf, printf, getchar, putchar, getch, getche, gets, puts, putch, getc, putc)

    • Arithmetic operators;
    • Relational operators;
    • Logical operators;
    • Assignment operators;
    • Type conversion in assignment;
    • Increment and decrement operators Ternary operator (conditional operator);
    • Bitwise operator;
    • Other operators (comma, sizeof);
    • Expression evaluation (implicit and explicit type conversion;
    • Operator precedence and associatively)

    • Introduction control statements
    • Selection statements: if, if..else, if..else if ladder, nested if, switch case; break and continue, goto and labels.
    • Iterative statement: For Loop, While Loop, Do while Loop, Nested Loop; The odd loop; Controlling the loop execution, Exit statement

    • Introduction to Arrays;
    • Initializing Arrays;
    • The meaning of array indexing; One dimensional and Multidimensional Arrays (two dimensional only);
    • String and Basic functions dedicated to string manipulation (reading and writing strings, null character, strcpy, strcmp, strcat, strlen, strupr, strlwr, strrev)

    • Introduction and types of functions;
    • Declaring, Defining and Calling functions;
    • Arguments and Return Statement;
    • Recursive functions;
    • Function call by value and reference;
    • Variables' scope, local variables and function parameters;
    • Arrays as function parameter;
    • Void as a parameter;
    • Parameterizing the main function;
    • External function and variables;
    • Header files;
    • Static variables;
    • Register Variables

    • Features of C Preprocessor
    • Macro Expansion
    • Macros with Arguments
    • Macros versus Functions
    • File Inclusion
    • Conditional Compilation
    • #if and #elif Directives
    • #undef Directive
    • #pragma Directive
    • The Build Process
    • Preprocessing; Compiling
    • Assembling
    • Linking
    • Loading

    • Introduction of Pointers, declaration and initialization of pointer variables
    • An address, a reference, a dereference and the sizeof operator
    • Pointer to nothing (NULL)
    • Pointer assignment
    • Pointer Arithmetic
    • Pointer as argument and Pointer as return values
    • Pointers vs. arrays
    • Dynamic memory allocation

    • Definition of Structure
    • Array of structures
    • Passing structure and array of structure to function
    • Pointers to structures and arrays of structures
    • Self- referential structures
    • Typedef
    • Table Lookup
    • Unions

    • Files vs. streams
    • Header files needed for stream operations
    • Opening and closing a stream, open modes, errno variable; Reading and writing to/from a stream
    • Predefined streams: stdin, stdout and stderr
    • Stream manipulation: fgetc(), fputc(), fgets() and fputs() functions
    • Raw input/output: fread() and fwrite() functions; Random access to files