int, float, if, for, return β ANSI C defines 32 keywords), identifiers (user-defined names for variables, functions, and arrays that must start with a letter or underscore), constants, strings, operators, and special symbols., parentheses (), semicolon ;`, and comma.int, float, double, char, void; type modifiers short, long, signed, unsigned change the size/range of a base type.() > unary (++ -- !) > * / % > + - > relational > logical > assignment (=).printf(), scanf()) uses format specifiers %d, %f, %c, %s, %ld, etc.; unformatted I/O β getchar()/putchar() (single character) and gets()/puts() (strings) β needs no format specifier.if, if-else, nested if-else, else-if ladder, switch-case (works on int/char); `switch-case` needs `break` to prevent fall-through into the next case.for(initialization; condition; increment) checks its condition before each iteration, making the for loop entry-controlled.break exits the loop/switch entirely; continue skips to the next iteration; goto performs an unconditional jump.int a[5];, 2-D int a[3][4] (rows Γ columns); multi-dimensional arrays extend the same pattern.'\0'; common string.h functions include strlen(), strcpy(), strcat(), strcmp(), strrev().* (e.g., int *p;); the & operator gives the address of a variable.p++) moves it forward by sizeof(data type), NOT by 1 byte.a[i] is equivalent to *(a + i) β and since indexing is pointer arithmetic, i[a] also equals the same value.struct keyword; all members hold valid values simultaneously.union keyword; only one member holds a valid value at a time.struct Student s[50];) stores multiple records of the same structure type.fopen()/fclose() open and close a file; fopen() returns a FILE pointer.r, w, a (read / write-overwrite / append, text); r+, w+, a+ (read and write combined); rb, wb, ab (same modes, binary).fprintf()/fscanf() perform formatted write/read to/from a file (text mode); fread()/fwrite() perform binary block read/write of data.fseek(), ftell(), rewind() are used for random access β they move/inspect the file pointer position.fseek() to jump directly to any byte position in the file.std) groups names to avoid naming conflicts; accessed via the scope resolution operator (std::cout) or a using directive (using namespace std;).inline) requests the compiler substitute the function's code directly at the call site, avoiding function-call overhead β best for small, frequently used functions.&) avoids copying the argument and lets the called function modify the caller's original variable.private (default) β accessible only within the class itself and its friends; public β accessible from anywhere the object is visible; protected β accessible within the class and its derived classes.:: (e.g., void Box::setLength(...)).~ClassName()) is called automatically when an object is destroyed; it takes no arguments, returns nothing, and cannot be overloaded.new/delete (and new[]/delete[] for arrays), replacing C's `malloc()`/`free()`.this pointer implicitly refers to the current object, used mainly to resolve naming conflicts between a member and a parameter.const member function (declared with const after the parameter list) cannot modify the object's data members; a const object can only call const member functions.operator keyword (e.g., operator+()).++, --, unary minus -); binary operator overloading involves operators with two operands (+, -, ==, <).operator int()); class-to-class conversion is also possible.virtual keyword in the base class and redefined (overridden) in a derived class, enabling runtime (dynamic) polymorphism when called through a base class pointer/reference.virtual void fn() = 0;; a class containing at least one pure virtual function becomes an abstract class, which cannot be instantiated directly.ios is the base class of the entire stream hierarchy, defining status flags and formatting.istream handles input operations (>>) and is the base of ifstream; ostream handles output operations (<<) and is the base of ofstream.iostream derives from both istream and ostream, supporting both input and output (cin/cout).ifstream reads data from files; ofstream writes data to files; fstream (derived from iostream) supports both reading and writing.open() member function (or constructor) and closed with close().eof() (end of file reached), fail() (an operation failed), bad() (a serious/unrecoverable error), good() (no error flags set).ios member functions such as width(), precision(), fill(), and flag-setting functions setf()/unsetf() with flags like ios::left, ios::right, ios::showpoint.<iomanip>) provide formatting shorthand: endl (newline + flush), setw() (field width), setprecision() (decimal precision), setfill() (fill character).template<class T>) defines a generic function that works with any data type, avoiding repetitive overloaded code.Stack<T>) whose member functions can also be defined outside the class using the scope resolution operator.vector, list, map, set, stack, queue β store data), Algorithms (sort, search, find, etc. β operate on containers), and Iterators (pointer-like objects used to traverse container elements).try encloses the block of code that might throw an exception; throw signals (raises) that an exceptional condition has occurred; catch handles the exception thrown in the corresponding try block.try block may be followed by several catch blocks, each handling a different exception type.throw; (with no operand) inside a catch block passes the exception on to an outer/enclosing handler.catch(...) matches any exception type, regardless of its actual type.throw, which the matching catch block receives as a parameter.void f() throw(int);) historically declared which exception types a function may throw β removed/deprecated from modern C++.catch handles an exception, terminate() is called (historically unexpected() for exception-specification violations); these can be customized with set_terminate()/set_unexpected().