Syllabus C Programming and Data Structures - (EE103ES/ME103ES) UNIT - I Introduction to Computers - Computer Systems, Computing Environments, Computer Languages, Creating and running programs, Software Development. Introduction to C Language - Background, Simple C programs, Identifiers, Basic data types, Variables, Constants, Input / Output. Structure of a C Program - Operators, Bit-wise operators, Expressions, Precedence and Associatively, Expression Evaluation, Type conversions, Statements. (Chapters - 1, 2, 3) UNIT - II Statements - if and switch statements, Repetition statements - while, for, do-while statements, Loop examples, other statements related to looping - break, continue, go to, Recursion. Designing Structured Programs - Functions, basics, user defined functions, inter function communication, standard functions. Arrays - Concepts, using arrays in C, inter function communication, array applications, two - dimensional arrays, multidimensional arrays. (Chapters - 4, 5, 6) UNIT - III Pointers - Introduction, Pointers for inter function communication, pointers to pointers, compatibility, Pointer Applications - Passing an array to a function, Memory allocation functions, array of pointers Strings - Concepts, C Strings, String Input / Output functions, arrays of strings, string manipulation functions, string / data conversion.. (Chapter - 7) UNIT - IV Derived types - The Typedef, enumerated types, Structures - Declaration, definition and initialization of structures, accessing structures, operations on structures, complex structures. Unions - Referencing unions, initializers, unions and structures. Input and Output - Text vs Binary streams, standard library functions for files, converting file types, File programs - copy, merge files.. (Chapters - 8, 9) UNIT - V Sorting - selection sort, bubble sort, insertion sort, Searching - linear and binary search methods. Data Structures - Introduction to Data Structures, abstract data types, Linear list - singly linked list implementation, insertion, deletion and searching operations on linear list, Stacks-Operations, array and linked representations of stacks, stack applications, Queues-operations, array and linked representations. (Chapters - 10, 11)