C# Programming Exam: Trivia Quiz!

Approved & Edited by ProProfs Editorial Team
The editorial team at ProProfs Quizzes consists of a select group of subject experts, trivia writers, and quiz masters who have authored over 10,000 quizzes taken by more than 100 million users. This team includes our in-house seasoned quiz moderators and subject matter experts. Our editorial experts, spread across the world, are rigorously trained using our comprehensive guidelines to ensure that you receive the highest quality quizzes.
Learn about Our Editorial Process
| By Edudzi4k
E
Edudzi4k
Community Contributor
Quizzes Created: 4 | Total Attempts: 4,202
Questions: 40 | Attempts: 1,561

SettingsSettingsSettings
C# Programming Exam: Trivia Quiz! - Quiz

.


Questions and Answers
  • 1. 

    At most, a class can contain ____________ method(s).

    • A.

      0

    • B.

      1

    • C.

      2

    • D.

      Any number of

    Correct Answer
    D. Any number of
    Explanation
    A class can contain any number of methods. This means that there is no limit to the number of methods that can be defined within a class. Methods are used to define the behavior of the class and can be used to perform various actions and operations. Having the flexibility to define any number of methods allows for greater customization and functionality within the class.

    Rate this question:

  • 2. 

    What is the most important reason for creating methods within a program?

    • A.

      Methods are easily reusable.

    • B.

      Because all methods must be stored in the same class, they are easy to find

    • C.

      The Main() method becomes more detailed.

    • D.

      All of these are true.

    Correct Answer
    A. Methods are easily reusable.
    Explanation
    Methods are easily reusable because they allow for the creation of modular and organized code. By creating methods, specific tasks or operations can be encapsulated and called upon whenever needed, reducing the need for repetitive code. This promotes code reusability, improves maintainability, and enhances the overall efficiency of the program. Additionally, methods can be easily modified or updated without affecting other parts of the program, making them a valuable tool in software development.

    Rate this question:

  • 3. 

    In C#, a method must include all of the following except a ___________ .

    • A.

      Return type

    • B.

      Parameter list

    • C.

      Body

    • D.

      Closing brace

    Correct Answer
    B. Parameter list
    Explanation
    A method in C# must include a return type, parameter list, body, and closing brace. The parameter list is the set of input parameters that the method accepts. It defines the data types and names of the parameters that can be passed to the method when it is called. Therefore, the correct answer is the parameter list, as it is an essential part of a method and must be included.

    Rate this question:

  • 4. 

    What is the output of the following C# code? int a = 5; int b = 10; int c = b; b = a; a = c; Console.WriteLine($"a = {a}, b = {b}");  

    • A.

      A = 5, b = 10

    • B.

      A = 10, b = 5

    • C.

      A = 10, b = 10

    • D.

      A = 5, b = 5

    Correct Answer
    B. A = 10, b = 5
    Explanation
    This code swaps the values of a and b. Initially, a is 5 and b is 10. The variable c temporarily holds the value of b (which is 10), then b is assigned the value of a (which is 5), and finally, a is assigned the value of c (which is 10). Thus, the output is a = 10, b = 5.

    Rate this question:

  • 5. 

    A method declaration must contain _______________ .

    • A.

      A statement of purpose

    • B.

      Declared accessibility

    • C.

      The static modifier

    • D.

      A return type (even void) a return type (even void)

    Correct Answer
    D. A return type (even void) a return type (even void)
    Explanation
    A method declaration must contain a return type, even if it is void. This is because the return type specifies the type of value that the method will return when it is called. In the case of void, it means that the method does not return any value.

    Rate this question:

  • 6. 

    If you want to create a method that other methods can access without limitations, you declare the method to be _____________.

    • A.

      Unlimited

    • B.

      Static or static public

    • C.

      Shared

    • D.

      Unrestricted

    Correct Answer
    B. Static or static public
    Explanation
    When you want to create a method that other methods can access without limitations, you declare the method to be "static" or "static public". The keyword "static" indicates that the method belongs to the class itself, rather than an instance of the class. By declaring the method as "static", it can be accessed directly without needing to create an object of the class. Adding the "public" modifier ensures that the method can be accessed from other classes as well.

    Rate this question:

  • 7. 

    If you use the keyword modifier static in a method header, you indicate that the method ______________.

    • A.

      Can be called without referring to an object or class

    • B.

      Cannot be copied

    • C.

      Can be called only once

    • D.

      Cannot require parameters

    Correct Answer
    A. Can be called without referring to an object or class
    Explanation
    By using the keyword modifier "static" in a method header, it indicates that the method can be called without referring to an object or class. This means that the method can be accessed directly using the class name, without the need to create an instance of the class. This is useful when you have utility methods or functions that don't require any specific instance data and can be used globally throughout the program.

    Rate this question:

  • 8. 

    A method’s type is also its ____________ .

    • A.

      Accessibility

    • B.

      Parameter type

    • C.

      Return type

    • D.

      Scope

    Correct Answer
    C. Return type
    Explanation
    A method's return type refers to the data type of the value that the method will return after its execution. It specifies the type of the value that will be produced by the method and can be used to determine the type of the variable that will store the returned value. In other words, the return type indicates the type of the result that can be expected when the method is called.

    Rate this question:

  • 9. 

    When you use a method, you do not need to know how it operates internally. This feature is called _____________

    • A.

      Scope management

    • B.

      Selective ignorance

    • C.

      Privacy

    • D.

      Implementation hiding

    Correct Answer
    D. Implementation hiding
    Explanation
    Implementation hiding refers to the feature where users of a method do not need to know how it operates internally. This allows for encapsulation and abstraction, where the details of the method's implementation are hidden from the user, providing a higher level of privacy and simplifying the usage of the method.

    Rate this question:

  • 10. 

    When you write the method declaration for a method that can receive a parameter, you need to include all of the following items except __________ .

    • A.

      A pair of parentheses

    • B.

      The type of the parameter

    • C.

      A local name for the parameter

    • D.

      An initial value for the parameter

    Correct Answer
    D. An initial value for the parameter
    Explanation
    When you write the method declaration for a method that can receive a parameter, you need to include a pair of parentheses, the type of the parameter, and a local name for the parameter. However, an initial value for the parameter is not necessary in the method declaration.

    Rate this question:

  • 11. 

    Suppose you have declared a variable as      int myAge = 21;. Which of the following is a legal call to a method with the declaration      static public void AMethod(int num)

    • A.

      AMethod(int 55);

    • B.

      AMethod(myAge);

    • C.

      AMethod(int myAge);

    • D.

      AMethod(int myAge);

    Correct Answer
    B. AMethod(myAge);
    Explanation
    The correct answer is "AMethod(myAge)". This is because the variable "myAge" is already declared and initialized with a value of 21, which is an integer. Therefore, it can be passed as an argument to the method "AMethod" which expects an integer parameter.

    Rate this question:

  • 12. 

    Suppose you have declared a method static public void CalculatePay(double rate) When a method calls the CalculatePay() method, the calling method ______________ .

    • A.

      Must contain a declared double named rate

    • B.

      Might contain a declared double named rate

    • C.

      Cannot contain a declared double named rate

    • D.

      Cannot contain any declared double variables

    Correct Answer
    B. Might contain a declared double named rate
    Explanation
    When a method calls the CalculatePay() method, it might contain a declared double named rate. This means that the calling method has the option to include a double variable named rate when calling the CalculatePay() method, but it is not required to do so.

    Rate this question:

  • 13. 

    In the method call      PrintTheData(double salary); salary is the ______________ parameter.

    • A.

      Formal

    • B.

      Actual

    • C.

      Propsed

    • D.

      Preferred

    Correct Answer
    B. Actual
    Explanation
    In the given method call, the parameter "salary" is referred to as the "actual" parameter. This is because it is the specific value that is passed into the method when it is called, and it will be used within the method to perform any necessary calculations or operations. The "actual" parameter represents the actual value that is being provided as an argument to the method.

    Rate this question:

  • 14. 

    A program contains the method call     PrintTheData(salary);In the method declaration, the name of the formal parameter must be __________ .

    • A.

      Salary

    • B.

      Any legal identifier other than salary

    • C.

      Any legal identifier

    • D.

      Omitted

    Correct Answer
    C. Any legal identifier
    Explanation
    In a method declaration, the name of the formal parameter must be any legal identifier, which means it can be any valid name that follows the rules of naming identifiers in the programming language being used. This allows flexibility in choosing a name for the formal parameter, as long as it adheres to the naming conventions and restrictions of the language.

    Rate this question:

  • 15. 

    What is a correct declaration for a method that receives two double arguments and calculates the difference between them?

    • A.

      Static public void CalcDifference(double price1, price2)

    • B.

      Static public void CalcDifference(double price1, double price2)

    • C.

      Both of these are correct.

    • D.

      None of these are correct.

    Correct Answer
    B. Static public void CalcDifference(double price1, double price2)
    Explanation
    The correct declaration for a method that receives two double arguments and calculates the difference between them is "static public void CalcDifference(double price1, double price2)". This declaration specifies that the method is static, public, and has a void return type. It also correctly declares two double arguments, price1 and price2, which can be used within the method to calculate the difference between them.

    Rate this question:

  • 16. 

    What is a correct declaration for a method that receives two double arguments and sums them?

    • A.

      Static public void CalcSum(double firstValue, double secondValue)

    • B.

      Static public void CalcSum(double price1, double price2)

    • C.

      Both of these are correct.

    • D.

      None of these are correct.

    Correct Answer
    C. Both of these are correct.
    Explanation
    Both of these declarations are correct because they both define a method named CalcSum that receives two double arguments and sums them. The names of the arguments (firstValue and secondValue in the first declaration, and price1 and price2 in the second declaration) are arbitrary and can be chosen based on the context or preference of the programmer. The access modifiers (static and public) can also be adjusted based on the requirements of the program.

    Rate this question:

  • 17. 

    In C#, which of the following statements accurately describes the behavior of the finally block in exception handling?

    • A.

      The finally block is executed only if an exception is thrown and handled in the try block.

    • B.

      The finally block is executed only if the catch block is executed.

    • C.

      The finally block is executed regardless of whether an exception is thrown or not, and it executes after the try and catch blocks.

    • D.

      The finally block can be skipped if the try block contains a return statement.

    Correct Answer
    C. The finally block is executed regardless of whether an exception is thrown or not, and it executes after the try and catch blocks.
    Explanation
    In C#, the finally block is executed regardless of whether an exception is thrown in the try block or handled by a catch block. It always runs after the try and catch blocks, ensuring that code meant for cleanup or resource release is executed. This behavior guarantees that important finalization tasks are completed, even if exceptions occur or if the try block contains a return statement.

    Rate this question:

  • 18. 

    Suppose the value of boolean method: isRateOK() = true and the value of boolean method isQuantityOK() = false. When you evaluate the expression      (isRateOK() || isQuantityOK()), which of the following is true?

    • A.

      Only the method isRateOK() executes.

    • B.

      Only the method isQuantityOK() executes.

    • C.

      Both methods execute.

    • D.

      Neither method executes.

    Correct Answer
    A. Only the method isRateOK() executes.
    Explanation
    The correct answer is "Only the method isRateOK() executes" because in a logical OR operation, if the first condition is true, the second condition is not evaluated. Since isRateOK() is true, there is no need to evaluate isQuantityOK() and therefore it does not execute.

    Rate this question:

  • 19. 

    Suppose the value of boolean method isRateOK() = true and the value of boolean method isQuantityOK() = false. When you evaluate the expression      (isRateOK() && isQuantityOK()) which of the following is true?

    • A.

      Only the method isRateOK() executes.

    • B.

      Only the method isQuantityOK() executes.

    • C.

      Both methods execute.

    • D.

      Neither method executes.

    Correct Answer
    C. Both methods execute.
    Explanation
    The expression (isRateOK() && isQuantityOK()) uses the logical AND operator &&, which means that both conditions on either side of the operator need to be true for the overall expression to be true. In this case, since the value of isRateOK() is true and the value of isQuantityOK() is false, both methods are executed. The result of the expression is false because one of the conditions is false, but both methods are still evaluated.

    Rate this question:

  • 20. 

    When an array is passed to a method, the method has access to the array’s memory address. This means an array is passed by ___________

    • A.

      Reference

    • B.

      Value

    • C.

      Alias

    • D.

      Orientation

    Correct Answer
    A. Reference
    Explanation
    When an array is passed to a method, it is passed by reference. This means that the method receives the memory address of the array, allowing it to directly access and modify the elements of the array. By passing the array by reference, any changes made to the array within the method will affect the original array outside of the method as well.

    Rate this question:

  • 21. 

    A structure that allows repeated execution of a block of statements is a(n) __________________ .

    • A.

      Selection

    • B.

      Loop

    • C.

      Sequence

    • D.

      Array

    Correct Answer
    B. Loop
    Explanation
    A loop is a structure that allows repeated execution of a block of statements. It is used when we want to execute a certain set of statements multiple times until a specific condition is met. Loops provide a way to automate repetitive tasks and make the code more efficient.

    Rate this question:

  • 22. 

    The body of a while loop can consist of ______________

    • A.

      A single statement

    • B.

      A block of statements within curly braces

    • C.

      Either a or b

    • D.

      Neither a nor b neither a nor b neither a nor b neither a nor b

    Correct Answer
    C. Either a or b
    Explanation
    The body of a while loop can consist of either a single statement or a block of statements within curly braces. This allows for flexibility in writing the code within the loop, as it can be as simple as a single line or as complex as multiple lines of code enclosed in curly braces.

    Rate this question:

  • 23. 

    A loop that never ends is called a(n) ___________ loop.

    • A.

      While

    • B.

      For

    • C.

      Counted

    • D.

      Infinite

    Correct Answer
    D. Infinite
    Explanation
    An "infinite" loop is a loop that never ends. It continues to repeat indefinitely until it is interrupted or terminated externally. This can occur when the loop's condition is always true or when there is no condition specified at all. In programming, infinite loops can be intentional or accidental, and they can cause a program to hang or become unresponsive.

    Rate this question:

  • 24. 

    Which of the following is not required of a loop control variable in a correctly working loop?

    • A.

      It is initialized before the loop starts.

    • B.

      It is tested.

    • C.

      It is reset to its initial value before the loop ends.

    • D.

      It is altered in the loop body.

    Correct Answer
    C. It is reset to its initial value before the loop ends.
    Explanation
    A loop control variable is a variable that is used to control the execution of a loop. It is typically initialized before the loop starts and tested to determine whether the loop should continue or terminate. It is also common for the loop control variable to be altered within the loop body to update its value for each iteration. However, it is not necessary to reset the loop control variable to its initial value before the loop ends. The variable can retain its final value after the loop completes, as it may be used for further processing or calculations outside of the loop.

    Rate this question:

  • 25. 

    while loop with an empty body contains no ___________

    • A.

      Loop control variable

    • B.

      Statements

    • C.

      Curly braces

    • D.

      Test within the parentheses of the while statement

    Correct Answer
    B. Statements
    Explanation
    A while loop with an empty body contains no statements. In programming, a loop is used to repeat a certain block of code until a certain condition is met. In the case of a while loop, the condition is checked before each iteration. If the condition is true, the loop continues to execute. However, if the body of the loop is empty, there are no statements to be executed, and the loop essentially does nothing.

    Rate this question:

  • 26. 

    A loop for which you do not know the number of iterations is a(n) ________________

    • A.

      Definite loop

    • B.

      Indefinite loop

    • C.

      Counted loop

    • D.

      For loop

    Correct Answer
    B. Indefinite loop
    Explanation
    An indefinite loop is a loop for which you do not know the number of iterations. It continues to execute until a certain condition is met or until it is explicitly terminated. Unlike a definite loop, where the number of iterations is predetermined, an indefinite loop allows for more flexibility and is often used when the number of iterations depends on user input or other dynamic factors.

    Rate this question:

  • 27. 

    What is the major advantage of using a for loop instead of a while loop?

    • A.

      With a for loop, it is impossible to create an infinite loop.

    • B.

      It is the only way to achieve an indefinite loop.

    • C.

      Unlike with a while loop, the execution of multiple statements can depend on the test condition.

    • D.

      The loop control variable is initialized, tested, and altered all in one place.

    Correct Answer
    D. The loop control variable is initialized, tested, and altered all in one place.
    Explanation
    A major advantage of using a for loop instead of a while loop is that the loop control variable is initialized, tested, and altered all in one place. This makes the code more concise and easier to read and understand. In contrast, with a while loop, these operations need to be done separately, which can lead to more complex and error-prone code.

    Rate this question:

  • 28. 

    A for loop statement must contain ______________

    • A.

      Two semicolons (;)

    • B.

      Three commas (,)

    • C.

      Four dots (.)

    • D.

      Five pipes (|)

    Correct Answer
    A. Two semicolons (;)
    Explanation
    A for loop statement must contain two semicolons (;) because semicolons are used to separate the three components of a for loop: the initialization, the condition, and the iteration. The first semicolon is used to initialize the loop variable, the second semicolon is used to specify the condition that determines when the loop should continue, and the third component is used to specify the iteration or change that occurs after each iteration of the loop.

    Rate this question:

  • 29. 

    In a for statement, the section before the first semicolon executes _______________

    • A.

      Once

    • B.

      Once prior to each loop iteration

    • C.

      Once after each loop iteration

    • D.

      One less time than the initial loop control variable value

    Correct Answer
    A. Once
    Explanation
    In a for statement, the section before the first semicolon executes once. This section is typically used to initialize the loop control variable, which is done only once before the loop starts. Once the initialization is done, the loop will start executing the code within its block.

    Rate this question:

  • 30. 

    The three sections of the loop are most commonly used for the loop control variable.

    • A.

      Testing, outputting, and incrementing

    • B.

      Initializing, testing, and incrementing

    • C.

      Incrementing, selecting, and testing

    • D.

      Initializing, converting, and outputting

    Correct Answer
    B. Initializing, testing, and incrementing
    Explanation
    The three sections of the loop are commonly used for the loop control variable. First, the variable is initialized to a starting value. Then, it is tested to determine whether the loop should continue or terminate. Finally, the variable is incremented or modified in some way to move the loop closer to its termination condition. This process allows the loop to repeatedly execute a set of instructions until a certain condition is met.

    Rate this question:

  • 31. 

    Which loop is most convenient to use if the loop body must always execute at least once?

    • A.

      A do loop

    • B.

      A while loop

    • C.

      A for loop

    • D.

      An if loop

    Correct Answer
    A. A do loop
    Explanation
    A do loop is the most convenient loop to use if the loop body must always execute at least once. This is because the condition is checked at the end of the loop, ensuring that the loop body is executed at least once before the condition is evaluated.

    Rate this question:

  • 32. 

    The loop control variable is checked at the bottom of which kind of loop?

    • A.

      A while loop

    • B.

      A do loop

    • C.

      A for loop

    • D.

      All of the above

    Correct Answer
    B. A do loop
    Explanation
    In a do loop, the loop control variable is checked at the bottom. This means that the loop body is executed first, and then the condition is checked. If the condition is true, the loop body is executed again, and this process continues until the condition becomes false. Therefore, the loop control variable is checked at the bottom of a do loop.

    Rate this question:

  • 33. 

    for loop is an example of a(n) _____________ loop.

    • A.

      Untested

    • B.

      Pretest

    • C.

      Posttest

    • D.

      Infinite

    Correct Answer
    B. Pretest
    Explanation
    A for loop is an example of a pretest loop because the condition is checked before the loop body is executed. In a pretest loop, the condition is evaluated first, and if it is true, the loop body is executed. If the condition is false, the loop is skipped entirely. This ensures that the loop will only run if the condition is initially true, making it a pretest loop.

    Rate this question:

  • 34. 

    while loop is an example of a(n) ____________ loop.

    • A.

      Untested

    • B.

      Pretest

    • C.

      Posttest

    • D.

      Infinite

    Correct Answer
    B. Pretest
    Explanation
    A while loop is an example of a pretest loop because the condition is checked before the loop is executed. If the condition is false initially, the loop will not be executed at all.

    Rate this question:

  • 35. 

    When a loop is placed within another loop, the loops are said to be _____________

    • A.

      Infinite

    • B.

      Bubbled

    • C.

      Nested

    • D.

      Overlapping

    Correct Answer
    C. Nested
    Explanation
    When a loop is placed within another loop, it is called a nested loop. This means that one loop is contained inside another loop. The nested loop will execute its entire iteration every time the outer loop iterates. This allows for more complex and intricate looping structures, where the inner loop can perform a specific task multiple times within each iteration of the outer loop.

    Rate this question:

  • 36. 

    What does the following code segment display?      a = 1;      while (a < 5);      {           Console.Write("{0} ", a);           ++a;      }

    • A.

      1 2 3 4

    • B.

      1

    • C.

      4

    • D.

      Compiler Error

    Correct Answer
    A. 1 2 3 4
    Explanation
    The code segment displays the numbers 1 2 3 4. This is because the code initializes the variable "a" to 1, then enters a while loop that continues as long as "a" is less than 5. Inside the loop, the current value of "a" is printed followed by a space. Then, "a" is incremented by 1. This process continues until "a" reaches 5, at which point the loop terminates. Therefore, the numbers 1 2 3 4 are displayed.

    Rate this question:

  • 37. 

    What is the output of the following code segment?     s = 1;     while (s < 4)          ++s;          Console.Write(" {0}", s);

    • A.

      1

    • B.

      234

    • C.

      1234

    • D.

      4

    Correct Answer
    D. 4
    Explanation
    The output of the code segment will be:``` 4```Explanation:The code initializes the variable `s` to 1. Then, it enters a while loop with the condition `s < 4`. Inside the loop, `s` is incremented by 1 (`++s`). The loop executes only once because after the increment, `s` becomes 2, which is not less than 4. So, the value of `s` is printed, resulting in "4" being displayed as the output.

    Rate this question:

  • 38. 

    What is the output of the following code segment?      j = 5;      while(j > 0)      {           Console.Write("{0} ", j);           j--;      }

    • A.

      0

    • B.

      5

    • C.

      54321

    • D.

      543210

    Correct Answer
    C. 54321
    Explanation
    Certainly! Let's break down the code step by step and explain what each part does:

    1. `j = 5;`: This line initializes a variable named `j` with the value 5.

    2. `while (j > 0)`: This line starts a `while` loop. The loop will continue executing as long as the condition `j > 0` is true. In other words, it will keep running as long as `j` is greater than 0.

    3. `Console.Write("{0} ", j);`: Inside the loop, this line prints the current value of `j` using `Console. Write`. The `{0}` is a placeholder for the value of `j`, and `j` is substituted into the placeholder. So, it will print the value of `j` followed by a space.

    4. `j--;`: This line decrements the value of `j` by 1. In each iteration of the loop, `j` is reduced by 1.

    Now, let's go through the loop execution:

    - In the first iteration, `j` is 5, so it prints "5 " and then decrements `j` to 4.
    - In the second iteration, `j` is 4, so it prints "4 " and then decrements `j` to 3.
    - In the third iteration, `j` is 3, so it prints "3 " and then decrements `j` to 2.
    - In the fourth iteration, `j` is 2, so it prints "2 " and then decrements `j` to 1.
    - In the fifth and final iteration, `j` is 1, so it prints "1 " and then decrements `j` to 0.

    At this point, the loop checks the condition `j > 0`, which is no longer true because `j` is now 0. So, the loop exits, and the program finishes executing.

    The final output, as I mentioned earlier, is:

    ```
    5 4 3 2 1
    ```

    This output shows the values of `j` printed in descending order from 5 to 1, separated by spaces.

    Rate this question:

  • 39. 

    What does the following code segment display?     for(f = 0; f < 3; ++f);          Console.Write("{0} ", f);

    • A.

      0

    • B.

      012

    • C.

      3

    • D.

      Compiler Error

    Correct Answer
    D. Compiler Error
    Explanation
    The given code segment will result in a compiler error. The error is caused by the semicolon (;) after the for loop. This semicolon terminates the for loop statement prematurely, making the subsequent Console.Write statement outside the loop. As a result, the variable f is not accessible in the Console.Write statement, leading to a compiler error.

    Rate this question:

  • 40. 

    What does the following code segment display?for(t = 0; t < 3; ++t)     Console.Write("{0} ", t);

    • A.

      0

    • B.

      01

    • C.

      012

    • D.

      01234

    Correct Answer
    C. 012
    Explanation
    The given code segment uses a for loop to iterate through the values of t. It starts with t = 0 and continues as long as t is less than 3. In each iteration, it prints the value of t followed by a space. Therefore, the code will display the numbers 0, 1, and 2, separated by spaces, which corresponds to the answer 012.

    Rate this question:

Quiz Review Timeline +

Our quizzes are rigorously reviewed, monitored and continuously updated by our expert board to maintain accuracy, relevance, and timeliness.

  • Current Version
  • Sep 01, 2024
    Quiz Edited by
    ProProfs Editorial Team
  • May 10, 2017
    Quiz Created by
    Edudzi4k
Back to Top Back to top
Advertisement
×

Wait!
Here's an interesting quiz for you.

We have other quizzes matching your interest.