Computer Systems and C Programming Fundamentals

0.0(0)
Studied by 0 people
call kaiCall Kai
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
GameKnowt Play
Card Sorting

1/68

flashcard set

Earn XP

Description and Tags

Comprehensive vocabulary flashcards covering computer systems, hardware and software components, computing environments, algorithmic design, flowcharts, and C programming fundamentals.

69 Terms

1
New cards

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.

2
New cards

Central Processing Unit (CPU)

The component often referred to as the "brain" of the computer that executes instructions and processes data.

3
New cards

Random Access Memory (RAM)

Temporary volatile internal memory that stores data and instructions currently in use by the computer system.

4
New cards

Operating System (OS)

System software that manages hardware, software, and system resources, such as Windows, macOS, and Linux.

5
New cards

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.

6
New cards

Client-Server Environment

A computing architecture in which multiple client devices access resources, services, and applications from a centralized host server over a network.

7
New cards

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.

8
New cards

Grid Computing

A computing environment in which resources, storage, and processing power are shared across multiple distributed computers to perform large-scale computational tasks.

9
New cards

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.

10
New cards

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.

11
New cards

Assembly Language

A low-level symbolic programming language that uses mnemonic instructions, converted into machine code by an assembler.

12
New cards

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.exe file).

13
New cards

Interpreter

A translation tool that reads, checks, and executes source code line-by-line on the fly without producing a separate executable file.

14
New cards

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.

15
New cards

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.

16
New cards

Problem Solving Process

A structured six-step sequence consisting of Problem Analysis, Design (Algorithm and Flowchart), Program Coding, Compilation & Execution, Debugging & Testing, and Documentation.

<p>A structured six-step sequence consisting of Problem Analysis, Design (Algorithm and Flowchart), Program Coding, Compilation &amp; Execution, Debugging &amp; Testing, and Documentation.</p>
17
New cards

Algorithm

A set of finite, well-defined steps or instructions designed to solve a mathematical or computational problem.

18
New cards

Definite (Algorithm Characteristic)

The characteristic requiring every operational step of an algorithm to be unambiguous and clearly specify exactly what should be done.

19
New cards

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.

20
New cards

Terminate (Algorithm Characteristic)

The requirement that an algorithm must come to an end after completing a finite number of operations.

21
New cards

Flowchart

The diagrammatic or pictorial representation of an algorithm.

22
New cards

Program Flowchart

A flowchart that pictorially specifies the detailed operational sequence and logic of an algorithm.

23
New cards

System Flowchart

A flowchart that provides an overall macro-view of the system environment and data flow for an algorithm.

24
New cards

Oval (Flowchart Symbol)

A flowchart geometric symbol used to designate the Beginning (Start) or End (Stop) of a program.

25
New cards

Parallelogram (Flowchart Symbol)

A flowchart geometric symbol used to denote Input or Output operations.

26
New cards

Rectangle (Flowchart Symbol)

A flowchart geometric symbol representing a process, calculation, or variable assignment.

27
New cards

Rhombus (Flowchart Symbol)

A diamond-shaped flowchart symbol used to represent a decision, branching, or condition evaluation.

28
New cards

Preparation (Flowchart Symbol)

An elongated hexagonal flowchart symbol used specifically to represent a for loop or loop setup.

29
New cards

Connector (Flowchart Symbol)

A circular flowchart symbol used to indicate a connection between intersecting or separated flow lines.

30
New cards

Time Complexity

A measure of how an algorithm's running time increases as input size (nn) increases, counted by executed operations rather than wall-clock seconds.

31
New cards

Space Complexity

A measure of the extra memory or storage an algorithm consumes while executing relative to the input size.

32
New cards

Big-O Notation (OO)

An asymptotic notation used in algorithmic analysis to describe the upper bound or worst-case growth rate of resource usage.

33
New cards

Big-Omega Notation (Ω\Omega)

An asymptotic notation used in algorithmic analysis to describe the lower bound or best-case growth rate of an algorithm.

34
New cards

Theta Notation (Θ\Theta)

An asymptotic notation representing a tight bound where an algorithm's upper and lower growth rates coincide.

35
New cards

C Programming Language

A general-purpose, procedural, and structured programming language developed by Dennis Ritchie at Bell Labs in 1972.

36
New cards

Identifier

A user-defined name used to uniquely identify variables, functions, arrays, structures, or other program elements in C.

37
New cards

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.

38
New cards

Keywords in C

Reserved words (32 standard in C) that possess predefined meanings recognized by the compiler and cannot be used as identifiers.

39
New cards

Variable

A named piece of computer memory used to store data values that can change during program execution.

40
New cards

Initialization

The process of assigning an initial value to a variable at or after its declaration to eliminate indeterminate garbage values.

41
New cards

Constant

A fixed data value in a program that cannot be modified or altered during execution.

42
New cards

Primitive Data Types

Basic built-in data types in C used to store simple values, which include int, char, float, double, and void.

43
New cards

Integer Data Type (int)

A primitive type that stores whole numbers, typically occupies 4 bytes of memory, ranges from −2,147,483,648-2{,}147{,}483{,}648 to 2,147,483,6472{,}147{,}483{,}647, and uses the %d format specifier.

44
New cards

Character Data Type (char)

A primitive type that stores a single character, occupies 1 byte, ranges from −128-128 to 127127 (signed), and uses the %c format specifier.

45
New cards

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−383.4 \times 10^{-38} to 3.4×10383.4 \times 10^{38}, using the %f format specifier.

46
New cards

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−3081.7 \times 10^{-308} to 1.7×103081.7 \times 10^{308}, using the %lf format specifier.

47
New cards

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 *).

48
New cards

Derived Data Types

C data types that are constructed from primitive types, specifically arrays, pointers, and functions.

49
New cards

User Defined Data Types

Custom data structures created by the developer in C, consisting of structures (struct), unions (union), and enumerations (enum).

50
New cards

sizeof Operator

A compile-time unary operator used to determine and return the size in bytes of a variable, data type, or expression.

51
New cards

Modulus Operator (%)

An arithmetic operator that computes and yields the integer remainder resulting from the division of the left operand by the right operand.

52
New cards

Relational Operators

Operators that compare two values to establish their relationship, evaluating to either true (11) or false (00).

53
New cards

Logical AND (&&)

A logical operator that evaluates two expressions and returns true (11) if and only if both operands are true (11).

54
New cards

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 22 for each position shifted.

55
New cards

Bitwise Rightshift (>>)

A bitwise operator that shifts bits to the right by a specified number of positions, effectively dividing the number by 22 for each position shifted.

56
New cards

Bitwise First Complement (~)

A unary operator that flips every set (11) and unset (00) bit of an integer.

57
New cards

Simple Assignment Operator (=)

An assignment operator that stores the value of the right operand into the memory location of the left operand.

58
New cards

Conditional Operator (?:)

The only ternary operator in C, serving as a shorthand for simple if-else statements with syntax: expression1 ? expression2 : expression3.

59
New cards

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.

60
New cards

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.

61
New cards

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.

62
New cards

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.

63
New cards

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.

64
New cards
<p>For Loop Flowchart</p>

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.

65
New cards
<p>While Loop Flowchart</p>

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.

66
New cards
<p>Do-While Loop Flowchart</p>

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.

67
New cards

break Statement

A control statement used to immediately terminate the execution of the enclosing loop or switch block.

68
New cards

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.

69
New cards

goto Statement

An unconditional control transfer statement that jumps program execution directly to a specified labeled statement.