1.3 - Types of Software - Objectives
1.3.1 - system Application Software.
1: How many basic categories of software are there?
- A) One
- B) Two
- C) Three
- D) Four
Correct Answer: B) Two
2: Which of the following is NOT a type of system software?
- A) Operating System
- B) Device Drivers
- C) Word Processor
- D) Firmware
Correct Answer: C) Word Processor
3: What is the primary role of system software?
- A) To help the user perform specific tasks
- B) To facilitate easy operation and interaction between the hardware and the user
- C) To manage data storage and retrieval
- D) To provide multimedia functionalities
Correct Answer: B) To facilitate easy operation and interaction between the hardware and the user
4: Which of the following is an example of system software?
- A) Microsoft Word
- B) Linux
- C) Photoshop
- D) VLC Media Player
Correct Answer: B) Linux
5: What is the most basic type of system software?
- A) Firmware
- B) Application Software
- C) Utility Software
- D) Operating System
Correct Answer: D) Operating System
6: Which of the following is NOT a function of an operating system?
- A) Memory management
- B) Resource allocation
- C) Word processing
- D) File management
Correct Answer: C) Word processing
7: What software translates high-level programming languages into machine code?
- A) Device Drivers
- B) Firmware
- C) Programming Language Translators
- D) Operating Systems
Correct Answer: C) Programming Language Translators
8: What is the role of device drivers in a computer system?
- A) To manage and troubleshoot hardware
- B) To translate programming languages
- C) To run user applications
- D) To edit multimedia files
Correct Answer: A) To manage and troubleshoot hardware
9: Which of the following is NOT a feature of system software?
- A) Direct interaction with hardware
- B) Smaller size
- C) Easy to manipulate
- D) Complex design
Correct Answer: C) Easy to manipulate
10: What is firmware typically used for?
- A) To manage user applications
- B) To control the operation of a device at a basic level
- C) To edit graphical content
- D) To protect against viruses
Correct Answer: B) To control the operation of a device at a basic level
11: Which type of software is designed for end-users to perform specific tasks?
- A) System Software
- B) Utility Software
- C) Application Software
- D) Firmware
Correct Answer: C) Application Software
12: Which of the following is an example of application software?
- A) Windows OS
- B) Chrome Web hrowser
- C) BIOS
- D) Device Drivers
Correct Answer: B) Chrome Web hrowser
13: What is the primary purpose of spreadsheet software?
- A) Text formatting and editing
- B) Data storage and complex calculations
- C) Playing multimedia files
- D) hrowsing the internet
Correct Answer: B) Data storage and complex calculations
14: Which software type is used for creating and delivering presentations?
- A) Word Processing Software
- B) Spreadsheet Software
- C) Presentation Software
- D) Graphics Software
Correct Answer: C) Presentation Software
15: What kind of software is Photoshop considered to be?
- A) Spreadsheet Software
- B) Presentation Software
- C) Graphics Software
- D) Web hrowser
Correct Answer: C) Graphics Software
16: Which of the following is NOT a characteristic of application software?
- A) Data manipulation
- B) Resource management
- C) System troubleshooting
- D) Information management
Correct Answer: C) System troubleshooting
17: Which type of software is free to use but restricts the ability to modify the source code?
- A) Open Source
- B) Freeware
- C) Shareware
- D) Closed Source
Correct Answer: B) Freeware
18: What is the key difference between open-source and closed-source software?
- A) Open-source software is free, while closed-source software is not
- B) Open-source software allows source code modifications, while closed-source software does not
- C) Open-source software is only used by organizations, while closed-source software is for individuals
- D) Open-source software is always better for security than closed-source software
Correct Answer: B) Open-source software allows source code modifications, while closed-source software does not
19: What is the main purpose of customer relationship management (CRM) software?
- A) To create spreadsheets and manage financial data
- B) To manage interactions with current and potential customers
- C) To design and edit graphical content
- D) To hrowse the internet
Correct Answer: B) To manage interactions with current and potential customers
20: Which of the following is an example of a database management system (DBMS)?
- A) Google Chrome
- B) Microsoft Access
- C) Adobe Photoshop
- D) WinRAR
Correct Answer: B) Microsoft Access
1.3.2 - Compilers and Interpreters.
21: What is the primary function of a compiler?
- A) To execute code directly
- B) To translate source code into machine code or another programming language
- C) To write binary code
- D) To debug programs
Correct Answer: B) To translate source code into machine code or another programming language
22: In which language is the source code typically written for a compiler to translate?
- A) Binary language
- B) Assembly language
- C) High-level language
- D) Machine language
Correct Answer: C) High-level language
23: What is the difference between a compiler and an interpreter?
- A) A compiler reads and executes code line by line
- B) A compiler translates the entire code at once and identifies all errors
- C) An interpreter converts code into machine language all at once
- D) An interpreter optimizes code before execution
Correct Answer: B) A compiler translates the entire code at once and identifies all errors
24: What type of compiler operates on platform A and produces executable code for platform B?
- A) Source-to-source compiler
- B) Cross-compiler
- C) Bytecode compiler
- D) Threaded compiler
Correct Answer: B) Cross-compiler
25: Which compiler converts source code from one programming language to another?
- A) Source-to-source compiler
- B) Cross-compiler
- C) Bytecode compiler
- D) Assembly compiler
Correct Answer: A) Source-to-source compiler
26: What is the extension used for C source files?
- A) .exe
- B) .obj
- C) .c
- D) .asm
Correct Answer: C) .c
27: Which command is used to compile C source files?
- A) gcc
- B) cc
- C) make
- D) compile
Correct Answer: A) gcc
28: What is the output file generated after the assembly stage in the C compilation process?
- A) main.c
- B) main.i
- C) main.s
- D) main.o
Correct Answer: D) main.o
29: At which stage of the C compilation process are comments removed and macros expanded?
- A) Compilation
- B) Pre-processing
- C) Assembly
- D) Linking
Correct Answer: B) Pre-processing
30: What is the final stage of the C compilation process where function calls are linked to their definitions?
- A) Compilation
- B) Pre-processing
- C) Assembly
- D) Linking
Correct Answer: D) Linking
31: Which compiler system is invoked by the 'cc' command in C compilation?
- A) GNU Compiler Collection
- B) Turbo C
- C) Portable C Compiler
- D) Clang
Correct Answer: A) GNU Compiler Collection
32: Which phase in the C compilation process produces the intermediate file 'main.s'?
- A) Pre-processing
- B) Compilation
- C) Assembly
- D) Linking
Correct Answer: B) Compilation
33: What does the assembler generate in the C compilation process?
- A) Source code
- B) Object code
- C) Assembly code
- D) Machine code
Correct Answer: B) Object code
34: Which command is used to compile the source file 'main.c' in C?
- A) ls main.c
- B) cc main.c
- C) compile main.c
- D) gcc main.c
Correct Answer: D) gcc main.c
35: What type of file is 'a.out' in the C compilation process?
- A) Source file
- B) Object file
- C) Executable file
- D) Assembly file
Correct Answer: C) Executable file
36: Which C compiler is known for its fast speed and small size, suitable for slow computers?
- A) Turbo C
- B) Tiny C Compiler (TCC)
- C) Portable C Compiler (PCC)
- D) Clang
Correct Answer: B) Tiny C Compiler (TCC)
37: Which C compiler was first introduced in 1987 and is known for its small size and speed?
- A) Borland Turbo C
- B) Tiny C Compiler (TCC)
- C) Portable C Compiler (PCC)
- D) Clang
Correct Answer: A) Borland Turbo C
38: Which compiler is considered one of the best due to its durability, optimization, and error-checking capabilities?
- A) Clang
- B) GNU Compiler Collection (GCC)
- C) Tiny C Compiler (TCC)
- D) Borland Turbo C
Correct Answer: B) GNU Compiler Collection (GCC)
39: Which type of parser did GCC use in its early stages?
- A) LL parser
- B) LALR parser
- C) Recursive descent parser
- D) Top-down parser
Correct Answer: B) LALR parser
40: Which programming languages does Clang support besides C?
- A) Java and Python
- B) Objective-C and Objective-C++
- C) Ruby and Perl
- D) PHP and JavaScript
Correct Answer: B) Objective-C and Objective-C++
41: What is the main difference between a compiler and an interpreter?
- A) A compiler executes code line by line
- B) An interpreter analyzes the entire code at once
- C) A compiler validates the entire source code before execution
- D) An interpreter produces machine code directly
Correct Answer: C) A compiler validates the entire source code before execution
42: Which type of interpreter executes intermediate code step by step?
- A) Syntax-directed interpreter
- B) Bytecode interpreter
- C) Cross-compiler
- D) Source-to-source interpreter
Correct Answer: B) Bytecode interpreter
43: Which type of interpreter uses a syntax tree to direct execution?
- A) Threaded interpreter
- B) Bytecode interpreter
- C) Syntax-directed interpreter
- D) Cross-compiler
Correct Answer: C) Syntax-directed interpreter
1.3.3 - Assembler, Linker and Loader.
44: What is the primary function of an assembler?
- A) To convert high-level language into machine code
- B) To compile object files into executable files
- C) To convert assembly language into machine code
- D) To load executable files into memory
Correct Answer: C) To convert assembly language into machine code
45: What does an assembler use to represent CPU operations?
- A) Binary code
- B) Mnemonics and symbolic names
- C) High-level programming constructs
- D) Source code
Correct Answer: B) Mnemonics and symbolic names
46: What is the result of the assembly process?
- A) Assembly code
- B) Object code
- C) Executable code
- D) Machine code
Correct Answer: D) Machine code
47: Which component is directly responsible for translating assembly language instructions into machine code?
- A) Linker
- B) Loader
- C) Assembler
- D) Compiler
Correct Answer: C) Assembler
48: How does assembly language relate to machine code?
- A) Assembly language has a one-to-one mapping to machine code instructions
- B) Assembly language is a higher-level abstraction than machine code
- C) Assembly language is compiled into high-level languages
- D) Assembly language requires an interpreter for execution
Correct Answer: A) Assembly language has a one-to-one mapping to machine code instructions
49: What is the main role of a linker in the compilation process?
- A) To convert source code into object code
- B) To merge multiple object files into a single executable program
- C) To load executable files into memory
- D) To optimize machine code
Correct Answer: B) To merge multiple object files into a single executable program
50: What does the linker do during static linking?
- A) It links lihraries at runtime
- B) It combines object files and lihraries into a single executable file
- C) It translates assembly language into machine code
- D) It adjusts addresses in object files at runtime
Correct Answer: B) It combines object files and lihraries into a single executable file
51: Which of the following is handled by the linker?
- A) Address binding
- B) Loading executable files into memory
- C) Executing machine code instructions
- D) Compiling source code into object code
Correct Answer: A) Address binding
52: What is a key task performed by a loader?
- A) Resolving symbols in object files
- B) Loading an executable file into the computer's memory
- C) Compiling source code
- D) Optimizing the machine code
Correct Answer: B) Loading an executable file into the computer's memory
53: Which file formats must loaders understand to perform their function?
- A) Source file formats
- B) Object file formats
- C) Executable file formats
- D) Lihrary file formats
Correct Answer: C) Executable file formats
54: What is the purpose of address binding performed by loaders?
- A) To resolve function calls between object files
- B) To assign actual memory addresses to program variables and functions
- C) To convert assembly language into machine code
- D) To optimize the executable code
Correct Answer: B) To assign actual memory addresses to program variables and functions
55: How does dynamic linking differ from static linking?
- A) Dynamic linking combines all object files into a single executable at compile time
- B) Dynamic linking resolves references to lihraries at runtime
- C) Static linking is used for lihraries loaded into memory at runtime
- D) Static linking involves loading shared lihraries into memory during execution
Correct Answer: B) Dynamic linking resolves references to lihraries at runtime
56: What role does a symbol table play in the linking process?
- A) It stores executable file formats
- B) It maps symbol names to their memory addresses
- C) It handles the loading of executable files
- D) It performs the initial compilation of source code
Correct Answer: B) It maps symbol names to their memory addresses
57: What does the relocation process involve?
- A) Adjusting addresses in object files to reflect final memory locations
- B) Combining multiple object files into one executable
- C) Translating high-level code into assembly language
- D) Executing machine code instructions
Correct Answer: A) Adjusting addresses in object files to reflect final memory locations
58: Which task is performed by a loader during program initialization?
- A) Loading object files into memory
- B) Configuring the program's stack and initializing global variables
- C) Resolving symbol references
- D) Optimizing machine code
Correct Answer: B) Configuring the program's stack and initializing global variables
59: What are linker scripts used for?
- A) Organizing sections in the executable file
- B) Loading executable files into memory
- C) Resolving symbols and addresses
- D) Compiling source code
Correct Answer: A) Organizing sections in the executable file
60: Which type of loader handles loading and relocating programs dynamically?
- A) Absolute loader
- B) Relocatable loader
- C) Dynamic loader
- D) Static loader
Correct Answer: C) Dynamic loader
61: What kind of error-checking mechanisms do loaders typically include?
- A) Syntax error detection
- B) File format validation and address conflict resolution
- C) Compilation error detection
- D) Code optimization
Correct Answer: B) File format validation and address conflict resolution
62: What does the term 'platform-specific' mean in the context of assembly language?
- A) The language is designed to be used across multiple platforms
- B) Assembly language is specific to a particular computer architecture or microprocessor
- C) The language can be automatically translated to different platforms
- D) Assembly language does not need platform-specific adjustments
Correct Answer: B) Assembly language is specific to a particular computer architecture or microprocessor
63: Which of the following is a primary function of a loader?
- A) Compiling source code into object code
- B) Linking object files to create an executable
- C) Loading an executable file into memory for execution
- D) Translating assembly code into machine code
Correct Answer: C) Loading an executable file into memory for execution