What string handling function is used to concatenate two strings in C?

  • sprintf()
  • strcat()
  • strcmp()
  • strcpy()
In C, the strcat() function is used to concatenate two strings. It appends the characters of the second string to the end of the first string.

In a project involving real-time systems, you notice that different modules use different naming conventions for the same data type. What feature of C can help maintain consistency across modules?

  • Typedef
  • Namespaces
  • Code comments
  • Function pointers
Option A, "Typedef," is the most suitable choice in this context. By using typedef, you can create consistent, user-friendly names for data types, which helps maintain a unified naming convention across modules in a project. This consistency enhances code readability, reduces errors, and simplifies maintenance. Namespaces are not a feature in C, and other options do not directly address naming convention consistency. Understanding how to use typedef effectively is essential for creating a consistent codebase in C.

How can you redirect error messages in a C program to a file instead of displaying them on the console?

  • stderr_redirect()
  • errorToFile()
  • file_error()
  • freopen()
The correct option is freopen(). This function can be used to redirect standard error (stderr) to a file. By using freopen("error.log", "w", stderr), error messages will be written to the specified file instead of the console.

In C, pointers can be used to pass ________ to a function.

  • addresses
  • constants
  • data
  • variables
In C, pointers can be used to pass addresses to a function. This allows functions to modify the original data.

Which preprocessor directive is used to include a header file in a C program?

  • #define
  • #ifdef
  • #ifndef
  • #include
The preprocessor directive #include is used to include a header file in a C program. It allows you to use functions and declarations from the included file in your program.

In a database application, you need to sort a list of names (strings) in alphabetical order. Which string handling function might be useful in this scenario?

  • strchr
  • strcmp
  • strnlen
  • strtok
To sort a list of names in alphabetical order, the strcmp function is useful. It compares two strings and returns a value indicating their relative order. strtok is used for tokenizing strings, strchr searches for a character in a string, and strnlen provides the length of a string up to a specified limit.

In a program managing a database of students, each student has attributes like name, age, and grades. How would pointers to structures be beneficial in this scenario?

  • Enhance database security
  • Improve data organization
  • Minimize CPU usage
  • Streamline user input
Pointers to structures can be beneficial in this scenario by improving data organization. By using pointers to structures, you can efficiently manage and access student information, such as name, age, and grades, making the database more organized and accessible. This optimization helps in effective data management.

What is a potential risk of using the gets() function for reading strings in C?

  • It always returns NULL
  • It can lead to buffer overflow
  • It doesn't exist in C
  • It has a higher time complexity
The gets() function is risky because it does not perform bounds checking and can lead to buffer overflows, potentially exposing the program to security vulnerabilities.

You're working on a program that continuously monitors sensor data and reacts when a certain threshold is reached. Which loop construct would be most suitable for this task?

  • do-while loop
  • for loop
  • if-else statement
  • while loop
The most suitable loop construct for continuously monitoring sensor data is a 'while loop.' A while loop checks a condition and executes its code block repeatedly as long as the condition is true. This allows continuous monitoring until the threshold is reached.

An array of ________ can be used to call different functions based on an index.

  • Functions
  • Objects
  • Pointers
  • Structures
In C, you can use an array of function pointers to call different functions based on the index. Function pointers point to functions, making it possible to create arrays of functions and select them dynamically.