Review of the C programming language. Structured and modular programming using C. Local and global variables. Structured programming constructs. Arrays and array handling. Multi-dimensional arrays. Structures and Unions. Arrays of structures. Defining new data types in C. Functions in C. Call-by-value and call-by-reference. Character and string functions. Scope and extent. Recursion. Pointers and pointer arithmetic. Dynamic memory allocation and simple data structures in C. Arrays of pointers. Bit manipulation. Files; data and file processing. Conditional compilation and exception handling in C.