Advanced Embedded Systems Introduction to C language

course content

Quick Enquiry

Contact Us

+91 93478 22722, +91 75698 22722

info@vivenembedded.com

Features of C

  • History
  • Structure of C Program.
  • Keywords, Identifiers, Variables and Constants

Data Types

  • Primitive Data Types.
  • Aggregated Data Types.

Operators

  • Binary Operators
  • Unary Operators
  • Ternary Operators
  • Special Operators
  • Order of evaluation.

Preprocessor features Control-Flow Statements

  • The Control-Flow Program Statements
  • Looping Statements
  • The Data-checking process

Functions

  • Role of Functions
  • Passing arguments to functions
  • Returning values from functions
  • Recursive Functions
  • Callback functions
  • Implications on Stack
  • Pass by value/reference

Arrays

  • Defining, initializing and using arrays
  • Multi Dimensional arrays
  • Arrays of Characters and Strings
  • Arrays and pointers
  • Passing arrays to functions
  • String handling and its library functions

Storage Classes

  • Scope and lifetime of a variable
  • Internal
  • External/Global
  • Automatic
  • Static
  • Register
  • Volatile

Structures & Unions

  • Usage of Structures
  • Declaration, initialization and accessing
  • Nested Structures
  • Array of structures
  • Allocation of memory and holes
  • Unions

Bitwise Operators

  • AND (&), OR (|), XOR (^)
  • Compliment (~)
  • Left-shift (<<), Right-shift (>>)
  • Masking, Setting and Testing of Bit/Bits

Pointers

  • The purpose of pointers
  • Defining pointers
  • The & and * operators
  • Pointer assignment
  • Pointers with functions
  • Pointer to Pointer
  • Pointers to Arrays
  • Arrays of Pointers
  • Void Pointers
  • Call By value and Call by reference
  • Advanced pointer types
  • Pointers to functions
  • Pointers and Strings
  • Pointers and Dynamic memory

Command line arguments & Dynamic Memory Allocation

  • Allocation (Malloc, Calloc, Realloc)
  • De-Allocation(Free)

Variable Number of Arguments

  • Implementation of printf()
  • Implementation of scanf()

Data Structures

  • Introduction
  • Linked Lists
  • Stacks & Queues
  • Stacks Using Arrays
  • Stacks Using Linked List
  • Queues using Arrays
  • Queues using Linked List.
  • Circular Queues
  • Single Linked List
  • Circular Linked List
  • Double Linked List
  • Infix, Prefix and Postfix Expressions
  • Trees
  • Binary Trees
  • Binary Search Trees
  • Graphs
  • Hashing

Sorting and Searching Techniques

  • Insertion sort
  • Selection sort
  • Bubble sort
  • Merge sort
  • Quick sort
  • Heap sort
  • Linear search
  • Binary search

File Handling Concepts

  • Concept of a FILE data type
  • File Input, Output operations
  • Sequential Files
  • Random Access Files

Standard I/O Library Functions

  • fopen,fread,fwrite,fclose,fseek
  • Relationship between file descriptor
  • and FILE pointer
  • Character at a time I/O
  • Line at a time I/O
  • Formatted I/O

Reading and Writing Structures to Files

  • In Ascii format
  • In Binary format
  • Modifying a structure in the file