1/68
Comprehensive vocabulary flashcards covering computer systems, hardware and software components, computing environments, algorithmic design, flowcharts, and C programming fundamentals.
Computer System
A combination of hardware/physical components (CPU, memory, and storage) and software that work together to process data, perform tasks, and provide user functionality.
Central Processing Unit (CPU)
The component often referred to as the "brain" of the computer that executes instructions and processes data.
Random Access Memory (RAM)
Temporary volatile internal memory that stores data and instructions currently in use by the computer system.
Operating System (OS)
System software that manages hardware, software, and system resources, such as Windows, macOS, and Linux.
Mainframe Environment
A large and powerful computing environment used for critical applications and massive data processing, characterized by high reliability and security but also high cost and complexity.
Client-Server Environment
A computing architecture in which multiple client devices access resources, services, and applications from a centralized host server over a network.
Cloud Computing
A computing environment where scalable technological resources and services are hosted remotely and accessed over the Internet via a web browser or client software.
Grid Computing
A computing environment in which resources, storage, and processing power are shared across multiple distributed computers to perform large-scale computational tasks.
Embedded System
A specialized computing environment where dedicated software is integrated directly into devices and products (such as cars or washing machines), typically operating with limited memory and processing power.
High-Level Language
A human-readable and portable programming language (such as Python, Java, or JavaScript) that relies on a compiler or interpreter to run on machine hardware.
Assembly Language
A low-level symbolic programming language that uses mnemonic instructions, converted into machine code by an assembler.
Compiler
A translation tool that scans and translates an entire high-level program at once before execution, checking for errors and generating an independent executable file (such as a .exe file).
Interpreter
A translation tool that reads, checks, and executes source code line-by-line on the fly without producing a separate executable file.
Linking
The third phase of the compiled program lifecycle in which a linker combines generated object files with external library modules to create a standalone executable file.
Execution (Program Lifecycle)
The phase where the operating system's loader transfers the standalone executable file from storage into main memory (RAM), allowing the CPU to run its instructions.
Problem Solving Process
A structured six-step sequence consisting of Problem Analysis, Design (Algorithm and Flowchart), Program Coding, Compilation & Execution, Debugging & Testing, and Documentation.

Algorithm
A set of finite, well-defined steps or instructions designed to solve a mathematical or computational problem.
Definite (Algorithm Characteristic)
The characteristic requiring every operational step of an algorithm to be unambiguous and clearly specify exactly what should be done.
Effective (Algorithm Characteristic)
The algorithmic characteristic that each operational step must be feasible enough to be carried out by a person in a finite number of operations.
Terminate (Algorithm Characteristic)
The requirement that an algorithm must come to an end after completing a finite number of operations.
Flowchart
The diagrammatic or pictorial representation of an algorithm.
Program Flowchart
A flowchart that pictorially specifies the detailed operational sequence and logic of an algorithm.
System Flowchart
A flowchart that provides an overall macro-view of the system environment and data flow for an algorithm.
Oval (Flowchart Symbol)
A flowchart geometric symbol used to designate the Beginning (Start) or End (Stop) of a program.
Parallelogram (Flowchart Symbol)
A flowchart geometric symbol used to denote Input or Output operations.
Rectangle (Flowchart Symbol)
A flowchart geometric symbol representing a process, calculation, or variable assignment.
Rhombus (Flowchart Symbol)
A diamond-shaped flowchart symbol used to represent a decision, branching, or condition evaluation.
Preparation (Flowchart Symbol)
An elongated hexagonal flowchart symbol used specifically to represent a for loop or loop setup.
Connector (Flowchart Symbol)
A circular flowchart symbol used to indicate a connection between intersecting or separated flow lines.
Time Complexity
A measure of how an algorithm's running time increases as input size (n) increases, counted by executed operations rather than wall-clock seconds.
Space Complexity
A measure of the extra memory or storage an algorithm consumes while executing relative to the input size.
Big-O Notation (O)
An asymptotic notation used in algorithmic analysis to describe the upper bound or worst-case growth rate of resource usage.
Big-Omega Notation (Ω)
An asymptotic notation used in algorithmic analysis to describe the lower bound or best-case growth rate of an algorithm.
Theta Notation (Θ)
An asymptotic notation representing a tight bound where an algorithm's upper and lower growth rates coincide.
C Programming Language
A general-purpose, procedural, and structured programming language developed by Dennis Ritchie at Bell Labs in 1972.
Identifier
A user-defined name used to uniquely identify variables, functions, arrays, structures, or other program elements in C.
Identifier Naming Rules
The formal rules in C specifying that identifiers may contain letters, digits, and underscores, must start with a letter or underscore, are case-sensitive, and cannot be keywords.
Keywords in C
Reserved words (32 standard in C) that possess predefined meanings recognized by the compiler and cannot be used as identifiers.
Variable
A named piece of computer memory used to store data values that can change during program execution.
Initialization
The process of assigning an initial value to a variable at or after its declaration to eliminate indeterminate garbage values.
Constant
A fixed data value in a program that cannot be modified or altered during execution.
Primitive Data Types
Basic built-in data types in C used to store simple values, which include int, char, float, double, and void.
Integer Data Type (int)
A primitive type that stores whole numbers, typically occupies 4 bytes of memory, ranges from −2,147,483,648 to 2,147,483,647, and uses the %d format specifier.
Character Data Type (char)
A primitive type that stores a single character, occupies 1 byte, ranges from −128 to 127 (signed), and uses the %c format specifier.
Float Data Type
A primitive data type used to store single-precision decimal numbers, typically occupying 4 bytes with an approximate range of 3.4×10−38 to 3.4×1038, using the %f format specifier.
Double Data Type
A primitive type that stores decimal numbers with higher precision than float, typically sized at 8 bytes with an approximate range of 1.7×10−308 to 1.7×10308, using the %lf format specifier.
Void Data Type
A primitive data type in C that represents an empty type or no value, used in non-returning functions and generic pointers (void *).
Derived Data Types
C data types that are constructed from primitive types, specifically arrays, pointers, and functions.
User Defined Data Types
Custom data structures created by the developer in C, consisting of structures (struct), unions (union), and enumerations (enum).
sizeof Operator
A compile-time unary operator used to determine and return the size in bytes of a variable, data type, or expression.
Modulus Operator (%)
An arithmetic operator that computes and yields the integer remainder resulting from the division of the left operand by the right operand.
Relational Operators
Operators that compare two values to establish their relationship, evaluating to either true (1) or false (0).
Logical AND (&&)
A logical operator that evaluates two expressions and returns true (1) if and only if both operands are true (1).
Bitwise Leftshift (<<)
A bitwise operator that shifts the binary bits of a number to the left by a specified count, effectively multiplying the number by 2 for each position shifted.
Bitwise Rightshift (>>)
A bitwise operator that shifts bits to the right by a specified number of positions, effectively dividing the number by 2 for each position shifted.
Bitwise First Complement (~)
A unary operator that flips every set (1) and unset (0) bit of an integer.
Simple Assignment Operator (=)
An assignment operator that stores the value of the right operand into the memory location of the left operand.
Conditional Operator (?:)
The only ternary operator in C, serving as a shorthand for simple if-else statements with syntax: expression1 ? expression2 : expression3.
Comma Operator (,)
A binary operator in C that evaluates its first operand, discards the result, and then evaluates and returns the value and type of its second operand.
if-else-if Ladder
A multi-conditional statement that tests expressions sequentially from top to bottom, executing the code block corresponding to the first true condition encountered.
Switch Statement
A multi-way selection control statement in C that compares the value of an integer or character expression against predefined case labels to execute matching blocks of code.
Entry-Controlled Loop
A loop construct (such as for or while) in which the test condition is verified before the loop body is permitted to execute.
Exit-Controlled Loop
A loop construct (specifically do-while) where the loop body executes before the test condition is verified, guaranteeing at least one execution.

For Loop Flowchart
An entry-controlled looping structure whose execution advances from Start through Initialization to Condition checking, executing Statement and Increment/Decrement when true, and branching to END when false.

While Loop Flowchart
An entry-controlled looping structure in which execution proceeds directly from Start to Condition checking, looping through the Statement on true, or terminating immediately on false.

Do-While Loop Flowchart
An exit-controlled looping structure where execution enters the Statement block immediately after Start, only checking the condition afterward before deciding whether to repeat or reach END.
break Statement
A control statement used to immediately terminate the execution of the enclosing loop or switch block.
continue Statement
A loop control statement that skips the remaining statements in the current iteration body and immediately advances control to the next iteration of the loop.
goto Statement
An unconditional control transfer statement that jumps program execution directly to a specified labeled statement.