# |
C Programming - Course Contents |
1 |
Basics |
|
Introduction to C Programming Language |
|
Understanding Comments and Tokens |
|
Understanding Characterset and Identifiers in C |
|
Understanding Variables and Keywords |
|
Understanding the syntax of main() function and its usage |
|
Understanding the syntax of printf() function and its usage |
|
Basics of Bits and Bytes – Binary, Decimal, Octal,
Hexadecimal representations |
|
Data Types – Primitive, Derived, Userdefined, etc,. |
|
Constants – integer, floating-point, character and string
constants |
|
Understanding Type Qualifiers – signed, unsigned, short,
long, etc,. |
|
Understanding Symbolic Constants and their usage |
|
Understanding One's and Two's complement forms |
|
Extra problem solving exercises |
2 |
Operators in C |
|
Understanding Expressions and Statements |
|
Understanding Arithmetic operators |
|
Understanding Relational and Equality operators |
|
Understanding Logical operators |
|
Understanding Assignment operator |
|
Understanding Unary operators |
|
Understanding Conditional or Ternary operator |
|
Understanding Bitwise operators |
|
Understanding the usage of Comma and sizeof operators |
|
Understanding operator precedence and associativity |
|
Working with type conversions – Implicit and Explicit |
|
Extra problem solving exercises |
3 |
Data Input and Output |
|
Usage of Preprocessor Directives – #include, #define,
#ifdef, #if, #elif, #else, #endif, #undefine, ## |
|
Learning character orientd I/O functions – getchar(),
putchar() |
|
Understanding the usage of I/O functions – scanf(),
printf() |
|
Page 1Learning string I/O functions – gets(), puts() |
|
Working with additional formatting features of I/O
Functions |
|
Understanding Algorithms and Flowcharts |
|
Revisiting the Basic Structure of a C program |
|
Extra problem solving exercises |
4 |
Control Flow Statements |
|
Understanding selective statements – if, if-else,
if-else-if, nested if-else, switch-case |
|
Exercises with selective statements – different programs |
|
Understanding iterative statements – while, do-while, for
loops |
|
Exercises with iterative statements – different programs |
|
Understanding unconditional control statements – break,
continue, goto |
|
Extra problem solving exercises |
5 |
Arrays in C |
|
Working with one-dimensional arrays |
|
Working with multi-dimensional arrays |
|
Arrays a deep dive |
|
Exercises with single and milti-dimensional arrays |
|
Understanding different searching techniques – Linear
search and Binary search |
|
Understanding different sorting techniques – Bubble sort,
Insertion sort and Selection sort |
|
Understanding initialization of arrays |
|
Extra problem solving exercises |
6 |
Strings |
|
Reading and printing of strings using getchar() and
putchar() |
|
Reading and printing of strings using scanf() and printf() |
|
Reading and printing of strings using gets() and puts() |
|
Understanding initialization of character arrays |
|
Working with different string functions |
|
Extra problem solving exercises |
7 |
Functions |
|
Different types of functions – library and userdefined
functions |
|
How to declare, define and call a userdefined function |
|
Understanding formal and actual arguments |
|
Page 2Understanding local and global variables |
|
Functions with different return types and arguments |
|
Working with functions and one-dimension arrays |
|
Working with functions and multi-dimension arrays |
|
Extra problem solving exercises |
8 |
Storage Classes |
|
Understanding scope and lifetime of a variable |
|
Working with automatic variables |
|
Working with extern variables |
|
Working with static variables |
|
Working with register variables |
|
Extra problem solving exercises |
9 |
Recursion |
|
Understanding a recursive function |
|
Different types of recursions |
|
Problem solvng using recursion – factorial, gcd, fibonacci
series |
|
Tower's of Hanoi problem |
|
Advantages and disadvantages of recursion |
|
Extra problem solving exercises |
10 |
Pointers |
|
Introduction to pointers - understanding the usage of * and
& |
|
Understanding declaration and usage o f pointer variables |
|
Understanding the difference between call-by-value and
call-by-address |
|
Working with dynamic memory allocation functions –
malloc(), calloc(), realloc() and free() |
|
Working with one-dimentional arrays and pointers |
|
Working with multi-dimentional arrays and pointers |
|
Understanding an array of pointers |
|
Understanding the concept of a pointer to an array |
|
Understanding multiple-indirections or double-pointers |
|
Extra problem solving exercises |
11 |
Structures and Unions |
|
Understanding and working with structures |
|
Page 3Accessing structure members using dot(.) and
arrow(->) operators |
|
Understanding initialization of structure variables |
|
Working with an array of structures |
|
Understanding nested structures |
|
Passing structures to functions |
|
Working with pointers to structures |
|
Understanding self-referential structures |
|
Understanding the difference between structures and arrays |
|
Understanding and working with unions |
|
Understanding the difference between structures and unions |
|
Extra problem solving exercises |
12 |
Files and Command Line Arguments |
|
Understanding streams and files |
|
Working with different file operations |
|
Opening and closing files |
|
Understanding read and write operations on files |
|
Read and write operations using getc() and putc() |
|
Read and write operations using getw() and putw() |
|
Read and write operations using fgets() and fputs() |
|
Read and write operations using fscanf() and fprintf() |
|
Read and write operations using fread() and fwrite() |
|
Randomly accessing file's content using ftell(), fseek()
and rewind() |
|
Understanding error handling during I/O – feof(), ferror(),
perror() |
|
Working with command line arguments |
|
Extra problem solving exercises |
The complete course includes extensive coding
and practice exercises. |