What is the primary difference between the scope and the lifetime of a variable?

  • Scope and lifetime are the same thing in C.
  • Scope defines the data type of a variable, while lifetime determines its value.
  • Scope determines whether a variable is local or global, while lifetime indicates its data type.
  • Scope refers to the range where a variable can be accessed, while lifetime refers to how long the variable exists.
The primary difference between the scope and lifetime of a variable is that scope refers to where a variable can be accessed, while lifetime indicates how long the variable exists in memory.

In a C program that processes large images, memory is allocated dynamically to hold pixel data. After processing, the memory is not explicitly freed before the program exits. What is the likely impact of this practice?

  • Data Corruption
  • Improved Memory Management
  • Increased Program Speed
  • Memory Leak
Failing to free dynamically allocated memory at program exit can lead to memory leaks, potentially causing the program to consume excessive resources and slow down over time.

A ________ variable in C is a variable that is declared within a function or a block and is only accessible within that function or block.

  • extern
  • global
  • local
  • static
A "local" variable in C is a variable that is declared within a function or a block and is only accessible within that function or block. These variables have limited scope, and their lifetime is limited to the duration of the function or block in which they are defined.

In C programming, why would you use an enumeration (enum)?

  • To create multi-dimensional arrays
  • To define a set of named integer constants
  • To perform arithmetic operations
  • To store floating-point numbers
Enumerations (enums) in C are used to define a set of named integer constants, making your code more readable and self-explanatory.

How can function pointers be used to implement callbacks in C?

  • Function pointers allow direct function calls
  • Function pointers are not suitable for callbacks
  • Function pointers are only used for dynamic memory allocation
  • Function pointers can be passed as arguments to other functions
Function pointers in C can be passed as arguments to other functions, allowing you to define callbacks. This is commonly used in event-driven programming and implementing libraries with customizable behavior.

How do you declare a two-dimensional array of integers with 3 rows and 4 columns?

  • int arr[12];
  • int arr[3][4];
  • int arr[4][3];
  • int arr[][];
To declare a 2D array in C with 3 rows and 4 columns, you use the syntax: int arr[3][4]; The first dimension specifies the number of rows, and the second dimension specifies the number of columns.

What is the purpose of the 'break' statement within a loop?

  • Continue to the next iteration
  • Exit the loop
  • Print a message
  • Skip the current iteration
The 'break' statement is used to exit a loop prematurely. When encountered, it terminates the loop and continues with the next code after the loop.

When defining a bit field, the data type ________ is typically used.

  • char
  • double
  • float
  • int
When defining a bit field in C, the char data type is typically used, as it allows for better control over the number of bits allocated to the field.

When dealing with large files, what is the advantage of using fread and fwrite over fscanf and fprintf?

  • fread and fwrite allow block-level operations.
  • fscanf and fprintf are more efficient for large files.
  • fread and fwrite provide better error handling.
  • fscanf and fprintf simplify binary file handling.
The correct option is fread and fwrite allow block-level operations. Using these functions, data can be read or written in larger chunks, reducing the number of I/O operations and improving performance when dealing with large files in C.

How can command line arguments be used to influence the flow of a program at runtime?

  • By modifying the source code of the program.
  • By passing arguments when the program is executed.
  • By using conditional statements in the program.
  • By using preprocessor directives in the code.
Command line arguments are parameters passed to a program when it's executed, allowing you to influence the program's behavior at runtime.