| Course Code: CS1114 Course Name: Programming Lab Prerequisites: Nil Syllabus: Lab Orientation and Linux Basics: Introduction to shell, file operations, using editors like nano, vim, gedit; C Development Environment Setup: Writing, compiling (gcc), debugging, executing C programs; IDE and CLI workflows; Data Types, Variables, Operators, Expressions: Declarations, data types, constants, operators (arithmetic, relational, logical, bitwise), precedence; Conditional Statements and Control Flow: if, else-if, nested if, switch, ?:, blocks and statements; Loops and Jump Statements: for, while, do-while, break, continue, goto, labels;, Input/Output Operations: Reading and printing different data types, formatted input/output using scanf/printf; Arrays (1D, 2D, Multidimensional): Declaration, initialization, access, iteration of arrays; Strings and Character Arrays: String declaration, input/output, standard string functions, command-line arguments; Functions and Recursion: Function declarations, return types, scope rules, recursion, function prototypes; Structures and Unions: Creating structures, nested structures, structure functions, unions, bit fields; Pointers and Memory Access: Pointer variables, pointer arithmetic, arrays and pointers, functions with pointers; Dynamic Memory & Linked Lists: malloc, calloc, free, singly linked list: creation, insertion, deletion, traversal; Preprocessors, File Handling, Standard Libraries: Macros, header files, file I/O (fopen, fread, etc.), math.h, stdlib.h, va_arg functions; Debugging, Compilation Warnings, and Runtime Errors. References: 1. Brian W. Kernighan, Dennis M. Ritchie, `C Programming Language`, Prentice Hall Software Series, Second edition, 2015. 2. Kelly and I. Pohl, `A Book On C`, 4TH Edition, Pearson Education, 1999. 3. E Balaguruswamy, `Programming in ANSI C`, Tata McGraw Hill, 5th Edition, 2011 |