Principles Of C Programming

Course Code: BIT104

Course Title: Principles of C Programming (4 Credits)




Course Contents


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.