|Course Code: BIT104||
Course Title: Principles of C Programming (4 Credits)
Unit 1: Introduction to Principles of programming
Introduction to Programming , Programing Domain : Scientific Application , Business Applications, Artificial Intelligence, Systems Programming , Web Software Categories of Programming Languages: Machine Level Languages, Assembly Level Languages , High Level Languages Programming Design Methodologies : Top Down and Bottom UP Program Development Cycle with case study, Program Execution and Translation Process ,Problem solving using Algorithms and Flowcharts, Performance Analysis and Measurements: Time and Space complexity
Unit 2: 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 3: 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 4: 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 5 : 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 6 : Arrays and Strings:
One Dimensional Arrays, Passing Arrays to Functions, Multidimensional Arrays, Strings
Unit 7: Pointers – I:
Basics of Pointers, Pointers and One-dimensional Arrays, Pointer Arithmetic, Pointer Subtraction and Comparison, Similarities between Pointers and One-dimensional Arrays.
Unit 8: Pointers – II:
Null pointers, Pointers and Strings, Pointers and two-dimensional arrays, Arrays of Pointers
Unit 9: Structures and Unions:
Basics of Structures, Arrays of Structures, Pointers to Structures, Self-referential Structures, Unions.
Unit 10: Functions:
Function Philosophy, Function Basics, Function Prototypes, and Passing Parameters: Passing Parameter by value and Passing Parameter by reference, passing string to function, Passing array to function, Structures and Functions Recursion
Unit 11: Storage Classes:
Storage Classes and Visibility, Automatic or local variables, Global variables, Static variables, External variables
Unit 12: The Preprocessor:
File Inclusion, Macro Definition and Substitution, Macros with Arguments, Nesting of Macros, Conditional Compilation
Unit 13: 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 14: 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.