Introduction to Computers & C Language Computer Systems: Hardware, Software, OS. Environments: IDEs, Compilers. Number Systems: Binary ($0,1$) Octal ($0-7$) Decimal ($0-9$) Hexadecimal ($0-9, A-F$) Fixed & Floating Point representation. C Language Basics: Identifiers, Keywords, Data Types. Variables, Constants. Operators: Arithmetic, Relational, Logical, Bitwise. Expressions, Type Conversion. Precedence & Associativity. UNIT-II: Control Flow & Functions Selection Statements if-else : Conditional execution. switch : Multi-way branching. Logical Data & Operators ($||, \&\&, !$). Repetition Statements (Loops) while : Entry-controlled loop. for : Entry-controlled loop with initialization, condition, increment. do-while : Exit-controlled loop. Control Keywords: break , continue , goto . Functions Designing Structured Programs: Modularity, reusability. Function Basics: Declaration, Definition, Call. Types: User-Defined, Standard Library Functions. Inter-Function Communication: Pass by Value, Pass by Reference. Scope: Local, Global. Storage Classes: auto : Default for local variables. register : Request CPU register storage. static : Persists value between function calls (local), or local scope (global). extern : Global variable declaration. Type Qualifiers: const , volatile , restrict . UNIT-III: Recursion & Arrays Recursion Recursive Functions: Function calling itself. Base Case: Essential to prevent infinite recursion. Preprocessor Commands: #include , #define , etc. Arrays Concepts: Collection of similar data types. Declaration: int arr[10]; Initialization: int arr[] = {1,2,3}; Two-Dimensional Arrays: int matrix[3][3]; Multidimensional Arrays. Array Applications: Linear Search, Binary Search. Selection Sort, Bubble Sort. UNIT-IV: Pointers & Strings Pointers Introduction: Variables storing memory addresses. Declaration: int *ptr; Dereferencing: Accessing value at address ($*ptr$). Pointers for Inter-Function Communication: Pass by address. Pointers to Pointers: int **pptr; LValue & RValue: LValue has address, RValue is temporary value. Arrays & Pointers: Array name often acts as a pointer to its first element. Pointer Arithmetic: Addition/subtraction with integers. Passing Array to a Function: Often passed as a pointer. Memory Allocation Functions: malloc() : Allocates block of memory. calloc() : Allocates memory and initializes to zero. realloc() : Resizes previously allocated memory. free() : Deallocates memory. Array of Pointers: Array where each element is a pointer. Pointers to void : Generic pointers. Pointers to Functions: Store address of a function. Command Line Arguments: int main(int argc, char *argv[]) . Strings Concepts: Array of characters terminated by null character ($'\0'$). C Strings: Handled as char arrays. String Input/Output: scanf() , printf() , gets() , puts() . String Manipulation Functions: strlen() : Length of string. strcpy() : Copy string. strcat() : Concatenate strings. strcmp() : Compare strings. Arrays of Strings: char names[10][20]; UNIT-V: Data Structures (User-Defined) Type Definition ( typedef ) Creates aliases for data types. Example: typedef unsigned long int ULINT; Enumerated Types ( enum ) Assigns names to integer constants. Example: enum Days {SUN, MON, TUE}; Structures ( struct ) Definition & Initialization: Grouping different data types. struct Student { char name[50]; int roll; }; struct Student s1 = {"Alice", 101}; Accessing Members: Dot operator ( . ) for variables, arrow operator ( -> ) for pointers. Nested Structures: Structure within another structure. Arrays of Structures: struct Student class[50]; Structures & Functions: Passing structures to functions. Pointers to Structures. Self-Referential Structures: Structures containing a pointer to themselves (e.g., linked lists). Unions ( union ) Stores different data types in the same memory location, only one member can hold a value at a time. union Data { int i; float f; char str[20]; }; Input and Output Files: Reading from and writing to files. Streams: Standard Input ( stdin ), Standard Output ( stdout ), Standard Error ( stderr ). Standard Library I/O Functions: printf() , scanf() fprintf() , fscanf() fgets() , fputs() getchar() , putchar() Character Input/Output Functions.