5 Lecture
CS410
Midterm & Final Term Short Notes
Preprocessor Directives
Preprocessor directives are commands in C/C++ that start with a hash (#) symbol. They are executed before the actual compilation process and modify the source code before it is processed by the compiler. Preprocessor directives are used for task
Important Mcq's
Midterm & Finalterm Prepration
Past papers included
Download PDF
Question 1:
Which preprocessor directive is used to include a file in the C/C++ program?
A) #include
B) #define
C) #ifdef
D) #ifndef
Solution: A) #include
Question 2:
What is the purpose of the #ifdef directive in C/C++?
A) It checks if a macro is defined.
B) It includes a header file in the program.
C) It defines a new macro.
D) It checks if a macro is not defined.
Solution: A) It checks if a macro is defined.
Question 3:
Which preprocessor directive is used to define a macro in C/C++?
A) #ifdef
B) #ifndef
C) #define
D) #include
Solution: C) #define
Question 4:
What does the #ifndef directive do in C/C++?
A) Checks if a macro is defined.
B) Checks if a macro is not defined.
C) Includes a header file in the program.
D) Defines a new macro.
Solution: B) Checks if a macro is not defined.
Question 5:
Which directive is used to concatenate two tokens in C/C++?
A) #define
B) #ifdef
C) ##
D) #pragma
Solution: C) ##
Question 6:
What is the purpose of the #pragma directive in C/C++?
A) To include a header file in the program.
B) To define a new macro.
C) To check if a macro is defined.
D) To provide compiler-specific instructions.
Solution: D) To provide compiler-specific instructions.
Question 7:
Which directive is used to undefine a previously defined macro in C/C++?
A) #undef
B) #pragma
C) #ifdef
D) #ifndef
Solution: A) #undef
Question 8:
What does the #error directive do in C/C++?
A) Includes a header file in the program.
B) Prints an error message during compilation.
C) Checks if a macro is defined.
D) Undefines a previously defined macro.
Solution: B) Prints an error message during compilation.
Question 9:
Which directive is used to include a file only if a certain condition is true in C/C++?
A) #define
B) #error
C) #ifdef
D) #if
Solution: D) #if
Question 10:
What does the #pragma once directive do in C/C++?
A) Includes a header file in the program.
B) Defines a new macro.
C) Prevents multiple inclusions of the same header file.
D) Undefines a previously defined macro.
Solution: C) Prevents multiple inclusions of the same header file.
Subjective Short Notes
Midterm & Finalterm Prepration
Past papers included
Download PDF
Question 1:
What are preprocessor directives in C/C++?
Answer: Preprocessor directives are commands that instruct the compiler to perform specific actions before the actual compilation process. They begin with a '#' symbol and are used to manipulate the source code before it is compiled.
Question 2:
What is the purpose of the #include directive in C/C++?
Answer: The #include directive is used to include the content of another file (usually header files) into the current source file. It allows the use of functions, constants, and other declarations from the included file.
Question 3:
How do you define a macro using the #define directive in C/C++?
Answer: The #define directive is used to define macros in C/C++. For example, to define a macro for a constant, you can use:
```c
#define PI 3.14159
```
Question 4:
Explain the use of the #ifdef and #ifndef directives in C/C++.
Answer: #ifdef and #ifndef are used for conditional compilation. #ifdef checks if a macro is defined, and #ifndef checks if a macro is not defined. They are often used to control whether a specific block of code should be included in the final program.
Question 5:
How do you concatenate two tokens into a single token using the ## operator in C/C++?
Answer: The ## operator is used for token pasting or concatenation. For example:
```c
#define CONCAT(x, y) x ## y
int result = CONCAT(10, 20); // This will be replaced as int result = 1020;
```
Question 6:
What is the purpose of the #pragma directive in C/C++?
Answer: The #pragma directive provides implementation-specific instructions to the compiler. It is used for non-standard compiler-specific operations or settings.
Question 7:
How do you undefine a previously defined macro in C/C++?
Answer: The #undef directive is used to undefine a previously defined macro. For example:
```c
#define MAX_VALUE 100
#undef MAX_VALUE
```
Question 8:
What does the #error directive do in C/C++?
Answer: The #error directive is used to generate a compilation error message with a custom message. It is often used to communicate specific requirements or constraints during the compilation process.
Question 9:
Explain the purpose of the #if, #elif, and #else directives in C/C++.
Answer: #if, #elif, and #else are used for conditional compilation based on preprocessor macros. They allow different blocks of code to be included or excluded from the final program depending on specific conditions.
Question 10:
What is the difference between #include <filename> and #include "filename" in C/C++?
Answer: The #include <filename> is used to include standard library header files, while #include "filename" is used to include user-defined header files. The preprocessor searches for the standard library headers in system directories and user-defined headers in the current directory first before searching in system directories.