Nigdi, Pune - 411044
Monday to Saturday
o Milestones: ANSI C, C89, C95, C99, C11
o Obsolete (but still valid) language elements
o How have function declarations changed over time?
o Trigraphs and digraphs
o New C11 keywords:
▪ _Noreturn, _Alignof and _Alignas, _Bool
▪ _Exit, _Complex, _Pragma, _ _func_ _ , _Generic
o Strengths and Weaknesses of C
o Directives
o Functions
o Statements
o Printing Strings
o Character Types
o Integer Types
o Integer Overflow
o Floating Types
o Types of C Constants
o Console Input and Output
o Concept of streams
o String input and output function
o Formatted input and output functions
o Format modifiers
o If Construct
o Nested If Construct
o Switch Case Construct
o For loop
o While loop
o Do while loop
o Return statement
o Break statement
o Continue statement
o Exit () function
o Go to & labels
o What is a function?
o Why use function
o Function Prototype
o Return statement
o Actual and formal arguments
o Local variables
o Global variables
o Invoking Function
▪ Call by Value
▪ Call by Reference
o Recursive Function
o General Purpose function
o Inline code
o Function returning a pointer
o Function as argument to function
o Features of C Preprocessor
o Macro expansion
o File inclusion
o # Include
o # define
o Conditional Compilation Directives
▪ # if, # else, #elif, #endif, # ifdef, #ifndef, #undef
o #pragma (intro)
o Macros versus functions
o Lifetime and visibility of variables
o Automatic storage class
o External storage class
o Static storage class
o Register storage class
o What are arrays?
o Defining an array
o Subscripts and dimensions
o Array Initialization
o Single dimensional and two-dimensional arrays
o String / Character arrays
o What are pointers?
o Use of Pointers
o Pointer variables
o Pointer operators
o Pointer Arithmetic
o Pointer Comparison
o Pointers as argument to function
o Array using pointers (single dimensional and two dimensional)
o Array of pointers
o Pointer to an array
o Multiple indirection
o manipulating memory blocks
▪ aligned_alloc(), calloc(), malloc(), realloc(), free()
o string manipulation:
▪ strchr(), strrchr(), strstr(), strtok(),
▪ qsort(), bsearch()
▪ bcopy(), memcpy(), memccpy(), memmove(), bzero(), memset(), memcmp()
o Defining a structure
o Declaring structure variables
o Accessing structure elements
o Initializing structures
o Assignment statements used with structures
o Passing structures as arguments
o Array of structures
o Initialization of structure arrays
o Pointers to structures
o Structure pointers as arguments
o Defining unions and accessing the elements
o Unions of structures
o Linear Searching
o Binary Search
o Streams and Files
o Text and binary streams
o Basic file functions
o calling conventions,
o passing parameters,
o stack usage, stack frame,
o returning a value,
o va_start(), va_arg() , va_end(), va_copy()
o Bubble Sort
o Insertion sort
o Selection sort