Course Code: BCA112
Course Title: Programming in C (credits 4)
Unit 1: Introduction to C Programming: Features of C and its Basic Structure, Simple C programs, Constants, Integer Constants, Real Constants, Character Constants, String Constants, Backslash Character Constants, Concept of an Integer and Variable, Rules for naming Variables and assigning values to variables
Unit 2: Operators and Expressions: Arithmetic Operators, Unary Operators, Relational and Logical Operators, The Conditional Operator, Library Functions, Bitwise Operators, The Increment and Decrement Operators, The Size of Operator, Precedence of operators
Unit 3: Data Types and Input/Output Operators: Floating-point Numbers, Converting Integers to Floating-point and vice-versa, Mixed-mode Expressions, The type cast Operator, The type char, Keywords, Character Input and Output, Formatted input and output, The gets() and puts() functions, Interactive Programming.
Unit 4: Control Statements and Decision Making: The goto statement, The if statement, The if-else statement, Nesting of if statements, The conditional expression, The switch statement, The while loop, The do…while loop, The for loop, The nesting of for loops, The break statement and continue statement.
Unit 5: Functions: Function Basics, Function Prototypes, Recursion, Function Philosophy
Unit 6: Storage Classes: Storage Classes and Visibility, Automatic or local variables, Global variables, Static variables, External variables
Unit 7: Arrays and Strings: One Dimensional Arrays, Passing Arrays to Functions, Multidimensional Arrays, Strings
Unit 8: Pointers – I: Basics of Pointers, Pointers and One-dimensional Arrays, Pointer Arithmetic, Pointer Subtraction and Comparison, Similarities between Pointers and One-dimensional Arrays.
Unit 9: Pointers – II: Null pointers, Pointers as Function Arguments, Pointers and Strings, Pointers and two-dimensional arrays, Arrays of Pointers
Unit 10: Structures and Unions: Basics of Structures, Structures and Functions, Arrays of Structures, Pointers to Structures, Self-referential Structures, Unions.
Unit 11: The Pre-processor: File Inclusion, Macro Definition and Substitution, Macros with Arguments, Nesting of Macros, Conditional Compilation
Unit 12: Dynamic Memory Allocation and Linked List: Dynamic Memory Allocation, Allocating Memory with malloc, Allocating Memory with calloc, Freeing Memory, Reallocating Memory Blocks, Pointer Safety, The Concept of linked list, Inserting a node by using Recursive Programs, Sorting and Reversing a Linked List, Deleting the Specified Node in a Singly Linked List.
Unit 13: File Management: Defining and Opening a file, Closing Files, Input/Output Operations on Files, Predefined Streams, Error Handling during I/O Operations, Random Access to Files, Command Line Arguments.
Unit 14: Advanced Data Representation: Exploring Data Representation, Abstract Data Types, Stack as an Abstract Data Type, Array Implementation of a Stack, Implementation of a Stack, Using Linked Representation, Applications of Stacks, Queue as an Abstract Data Type, Array Implementation of a Queue, Implementation of a Queue Using Linked List Representation, Circular Queues, Applications of Queues