Introduction to C language: Structure of a C program, comments, Data types, Variables, constants, Data input and output statements, input assertions; expressions and evaluation. Functions: inter function communication, standard functions, scope. Selection: two way selection, multi-way selection, repetition: concept of loop, loop invariant, pretest and post-test loops, initialization and updating, event and counter controlled loops. Recursion: recursive definition, recursive solution, designing recursive functions, limitations of recursion.
Files and streams, file input output. Arrays - 1D numeric, searching and sorting, 2D numeric arrays: problems with matrices. Pointers: introduction, compatibility, arrays and pointers, Dynamic memory allocation, array of pointers, pointer arithmetic.
Strings: fixed length and variable length strings, strings and characters, string input output, array of strings, string manipulation functions, sorting of strings. Enumerated types, Structures: Structure vs array comparison, complex structures, Structures and functions, Union, binary input output, Command line arguments.