Embedded C-Programming

  • C Basics
    • History of C
    • Characteristics of C
    • C Program Structure
    • Variables
      • Defining Global Variables
      • Printing Out and Inputting Variables
    • Constants
    • Arithmetic Operations
    • Comparison Operations
    • Logical Operators
    • Order of Precedence
  • Conditionals
    • Conditionals
    • The if statement
    • The? Operator
    • The switch Statement
     Looping and Iteration
    • The for statement
    • The while statement
    • The do-while statement
    • Break and continue
  •  

    Arrays and Strings
    • Defining, initializing and using arrays
    • Single and Multi-dimensional Arrays
    • Arrays of Characters and Strings
    • Arrays and pointers
    • Strings
     Functions
    • Role of Functions
    • Passing arguments to functions
    • Returning values from functions
    • Recursive functions
    • Call back functions
    • Implications on Stack
    • Pass by value / reference
    • Passing Arrays to functions
  • String Handling : <string.h>
    • Basic String handling functions
    • String Searching
    • Character Conversions and testing : <ctype.h>
    • Memory Operations: <memory.h>
     Structures and Unions
    • Structures
    • Nested Structures
    • Array of Structures
    • Allocation of memory and holes
    • Unions
     Further Data Types
    • Coercion or Type-Casting
    • Enumerated Types
    • Static Variables
     Dynamic Memory Allocation & Dynamic Structures
    • Malloc, Sized, and Free
    • Calloc and Realloc
  •  

    Advanced Pointer Topics
    • The purpose of pointers
    • Defining pointers
    • The & and * Operators
    • Pointer Assignment
    • Pointers with functions
    • Pointer Arithmetic
    • Advanced pointer types
    • Pointers to functions
    • Pointers to String
    • Pointers and Dynamic memory
    • Pointers and Structures
    • Common Pointer Pitfalls
      • Not assigning a pointer to memory address before using it
    • Illegal indirection
  • Storage Classes
    • Scope
    • Internal
    • External
    • Automatic
    • Static
    • Scope and extent of parameters
     Low Level Operators and Bit Fields
    • Bitwise Operators
    • Bit Fields
      • Bit Fields: Practical Example
    • A note of Caution: Portabilit
  • The C Processor
    • #define
    • #undef
    • #include
    • #if – conditional inclusion
    • Preprocessor Compiler Control
    • Other Preprocessor Commands
     Integer Functions, Random Number
    • String Conversion : <stdlib.h>
    • Arithmetic Functions
    • Random Numbers
    • String Conversion
  •  Mathematics: <math.h>
    • Math Functions
    • Math Constants
        Input and Output (I/O) : <stdio.h>
    • Reporting Errors
      • perror()
      • errno
      • exit()
    • Streams
      • Predefined Streams
      • Redirection
    • Basic I/O Formatted I/O
      • Printf
    • Scanf
    • Files
      • Reading and writing files
    • Sprintf and sscanf
    • Stream Status Enquiries
  • Data Structures
    • Linked Lists
    • Stacks & Queues
    • Binary Tree
     Sorting & Searching Techniques
    • Insertion Sort
    • Merge Sort
    • Quick Sort
     Writing Larger Programs
    • Header Files
    • Advantages of Using Several Files
    • How to Divide a Program between Several Files
    • Organization of Data in each file
    • The Make Utility
    • Make Programming
    • Creating a make file
    • Make Macros
Projects / Lab Gallery
Project Videos

What else can we do to convince you?

Apply For Training

zcc-14yrs-iso-job-web