int, if, return), identifiers (variable/function names), constants (3.14, 'A'), string literals ("hello"), operators (+, ==), and punctuators ( , ;).printf() writes formatted output; scanf() reads formatted input. Format specifiers: %d (int), %f (float), %c (char), %s (string), %lf (double), %ld (long).getchar()/putchar() for single characters; gets()/puts() for strings. gets() is unsafe β use fgets() instead.a[rows][cols] stored in row-major order. Element a[i][j] is at offset i*cols + j from the start.'H','e','l','l','o','\0'. The null terminator '\0' marks the end. Key functions from <string.h>: strlen(), strcpy(), strcat(), strcmp(), strncpy().*: int *p; means p holds the address of an int. Pointers are the most powerful β and most error-prone β feature of C.*** (dereference) accesses the VALUE stored at the address.p++) moves it forward by sizeof(pointed type). So if int *p and sizeof(int)=4, p++ adds 4 to the raw address.a[i] and *(a + i) are completely equivalent.struct): groups variables of DIFFERENT types under one name. Each member gets its OWN memory. Members are accessed with the `.` (dot) operator.struct Student arr[50]; β stores 50 student records contiguously. Accessed as arr[i].name, arr[i].marks.struct Point *p; β use the `->` (arrow) operator to access members: p->x is identical to (*p).x.fopen() returns a FILE* pointer (NULL if it fails). fclose() closes it. Text mode: fprintf()/fscanf(); binary mode: fread()/fwrite()."r" (read only, file must exist), "w" (write, creates or truncates), "a" (append, creates if not exist), "r+" (read and write).fseek(fp, offset, whence) moves to a position. whence = SEEK_SET (from start), SEEK_CUR (from current), SEEK_END (from end). ftell() returns current byte position.class Car ... defines the blueprint; Car c1; creates an actual object.~ClassName(). Called AUTOMATICALLY when the object is destroyed. A class has exactly ONE destructor. Used for cleanup (freeing memory, closing files).static, defined outside the class. Static member function: can be called without an object (ClassName::func()).friend keyword, but NOT a member. Use sparingly β it breaks encapsulation.https:// and the padlock icon.<?php ... ?>). Connects to databases (MySQL/MariaDB), handles sessions, cookies, and CRUD operations.session_start() initiates it. Cookie: key-value data stored in the CLIENT'S browser, sent with every request.virtual keyword in a BASE class. When called through a base-class pointer/reference, it dispatches to the DERIVED class's version β not the base's.= 0 β virtual void draw() = 0;. It has NO body in the base class. Derived classes MUST provide an implementation or they too become abstract.<fstream>. Three classes: `ifstream` (input from file), `ofstream` (output to file), `fstream` (both input and output).stream.open("filename", mode) or in constructor: ifstream fin("data.txt"). Check success with if (!fin) or fin.fail().ios::in (read), ios::out (write, truncates), ios::app (append), ios::trunc (truncate), ios::binary (binary mode). Combine with |: ios::in | ios::binary.<< and >> operators; getline(stream, str) for whole lines. Binary mode I/O: stream.write((char*)&obj, sizeof(obj)) and stream.read((char*)&obj, sizeof(obj)).stream.close(). This flushes the write buffer and releases the OS file handle. Streams also close automatically when they go out of scope (RAII).ios (base) β istream β ifstream; ios β ostream β ofstream; istream + ostream β iostream β fstream.<iomanip>: setw(n) (field width), setprecision(n) (decimal places), `fixed` (fixed-point), `left`/`right` (alignment), setfill(ch) (fill character).template <typename T>. The compiler generates type-specific versions at compile time.template <typename T> T max(T a, T b) β one definition, works for int, double, string, etc.template <typename T> class Stack ... β creates a type-safe Stack for any T.vector (dynamic array), list (doubly linked list), map (keyβvalue, sorted), unordered_map (hash map), set (unique sorted values), stack (LIFO), queue (FIFO).sort(), find(), binary_search(), reverse(), accumulate() β all from <algorithm>.catch is found. The thrown object carries error information.catch blocks after one try, each handling a different exception type. They are checked in ORDER β put more specific types before more general ones.catch(...) : catches ALL exception types β the safety net. Use it last after specific handlers.catch block, bare throw; (no argument) re-throws the currently caught exception to the outer scope.std::exception. Common ones: std::runtime_error, std::logic_error, std::out_of_range, std::bad_alloc. Access .what() for the error message.catch block handles a thrown exception, `std::terminate()` is called, ending the program.