Java Arrays and Advanced Concepts MCQs
1. Which statement correctly declares and creates an array temps to hold 100 double
values?
A. double temps = new double(100);
B. double[] temps = new double[100];
C. double temps[] = new double[]; temps.length = 100;
D. double[100] temps = new double;
2. If an array is declared as int[] data = new int[15];, what is the valid range of
indices for this array?
A. 1 to 15
B. 0 to 15
C. 1 to 14
D. 0 to 14
3. What is the value of myArray[2] immediately after this declaration: boolean[]
myArray = new boolean[5];?
A. true
B. false
C. null
D. 0
4. Consider the declaration: String[] names = {"Alice", "Bob", "Charlie"}; . What
is the value of names.length?
A. 5 (length of "Alice")
B. 3
C. 13 (total characters)
D. Undefined until runtime
5. What happens if you try to access scores[10] when scores is declared as int[]
scores = new int[10];?
A. It returns the default value 0.
B. It causes a compile-time error.
C. It throws an ArrayIndexOutOfBoundsException at runtime.
D. It returns null.
6. Which code snippet correctly swaps the values of arr[i] and arr[j] assuming temp is
an integer variable?
A. temp = arr[i]; arr[j] = arr[i]; arr[i] = temp;
B. temp = arr[i]; arr[i] = arr[j]; arr[j] = temp;
C. arr[i] = arr[j]; arr[j] = temp; temp = arr[i];
D. arr[j] = arr[i]; temp = arr[j]; arr[i] = temp;
7. In an ascending bubble sort, after the first complete pass through an array, which
element is guaranteed to be in its final sorted position?
A. The smallest element.
B. The largest element.
C. The median element.
D. No element is guaranteed to be in its final position.
8. Which sorting algorithm works by repeatedly finding the correct position for the current
element within the already sorted portion of the array?
A. Bubble Sort
B. Selection Sort
C. Insertion Sort
D. Merge Sort
9. When sorting an array of Employee objects based on their salary field, what is actually
being swapped during the sort process?
A. Only the salary values between adjacent Employee objects.
B. The entire Employee object references.
C. The memory addresses of the salary fields.
D. Copies of the Employee objects.
10. How do you declare a two-dimensional array named matrix to hold integers with 5
rows and 10 columns?
A. int matrix = new int[5, 10];
B. int[][] matrix = new int[5][10];
C. int[] matrix = new int[5][10];
D. int matrix[5][10] = new int[][];
11. Given int[][] data = {{1, 2}, {3, 4, 5}, {6}}; , what is the value of
data.length?
A. 6 (total number of elements)
B. 2 (length of the longest row)
C. 3 (number of rows)
D. Undefined (it's a jagged array)
12. Given int[][] data = {{1, 2}, {3, 4, 5}, {6}}; , what is the value of
data[1].length?
A. 3
B. 2
C. 1
D. 6
13. An array where each row can have a different number of columns is called a:
A. Parallel Array
B. Dynamic Array
C. Sparse Array
D. Jagged Array
14. Which java.util.Arrays method would you use to efficiently find the index of an item
in a sorted array?
A. find()
B. search()
C. binarySearch()
D. indexOf()
15. What must be true about an array before Arrays.binarySearch() can be used
reliably?
A. The array must contain only positive numbers.
B. The array must be sorted.
C. The array must be completely filled (no default values).
D. The array must be a jagged array.
16. What does Arrays.fill(myArray, -1); do?
A. Removes the element at index -1.
B. Fills the first element of myArray with -1.
C. Sets every element in myArray to -1.
D. Appends -1 to the end of myArray.
17. Consider int[] a = {1, 2, 3}; and int[] b = {1, 2, 3};. What is the result of a
== b?
A. true
B. false
C. Compile-time error
D. ArrayIndexOutOfBoundsException
18. Consider int[] a = {1, 2, 3}; and int[] b = {1, 2, 3};. What is the result of
Arrays.equals(a, b)?
A. true
B. false
C. Compile-time error
D. Runtime error
19. How is a single array element of a primitive type (e.g., int) passed to a method?
A. By reference (method gets the original address)
B. By value (method gets a copy of the value)
C. By constant reference
D. As an Object
20. How is an entire array passed to a method when you pass the array name?
A. By reference (method gets direct access to modify the original variable)
B. By value (method gets a complete copy of the array and its elements)
C. The array name (which is a reference/address) is passed by value (method gets a copy
of the address).
D. It's passed element by element recursively.
21. If a method modifyArray receives an integer array and changes the value of its first
element (arr[0] = 99;), will this change be reflected in the original array in the calling
method?
A. No, because arrays are passed by value.
B. Yes, because the method received a copy of the reference to the original array.
C. Only if the array is declared final.
D. Only if the method returns the modified array.
22. What is the correct syntax for a method signature that returns an array of Strings?
A. public return String[] myMethod() { ... }
B. public String myMethod()[] { ... }
C. public String[] myMethod() { ... }
D. public void myMethod() returns String[] { ... }
23. What is the output of this code?
int[] scores = {10, 20, 30};
for (int val : scores) {
val = val / 10; // Modify loop variable
}
System.out.println(scores[1]);
A. 2
B. 20
C. 10
D. 30
24. To sort only the elements from index 2 up to (but not including) index 5 in an array
data, you would use:
A. Arrays.sort(data, 2, 4);
B. Arrays.sort(data, 2, 5);
C. Arrays.sort(data, 3, 5);
D. Arrays.sort(data, 2, 6);
25. In the context of searching, what is a "flag" variable typically used for?
A. To store the index of the found item.
B. To count the number of comparisons made.
C. To indicate whether a certain condition (like finding an item) has been met.
D. To hold the value being searched for.
26. Parallel arrays are characterized by:
A. Having multiple dimensions.
B. Storing related data at the same index across two or more arrays.
C. Being automatically sorted when created.
D. Allowing different data types within the same array.
27. When performing a range match using parallel arrays (e.g., for discounts based on
quantity), you typically compare the target value against:
A. The average value in the limits array.
B. The middle element of the limits array.
C. Random elements in the limits array.
D. The endpoint values (usually lower or upper bounds) stored in the limits array.
28. Which statement about Java arrays is FALSE?
A. Array elements are numbered starting from 0.
B. Arrays have a fixed size once created.
C. array.length returns the number of elements in the array.
D. You can compare the contents of two arrays using the == operator.
29. What is the result of Arrays.binarySearch(new int[] {2, 5, 8, 12, 15}, 10); ?
A. 3
B. -3
C. -4
D. An exception is thrown.
30. The improved bubble sort algorithm reduces comparisons in later passes because:
A. Smaller elements bubble up faster.
B. It uses a binary search approach internally.
C. The largest unsorted elements are known to be at the end of the array after each
pass.
D. It switches to insertion sort for later passes.
31. What is the default value for elements in an array of Object or any object subclass (like
String or Employee)?
A. "" (empty string)
B. 0
C. false
D. null
32. Consider Employee[] staff = new Employee[5];. What must be done before you
can legally call staff[0].getSalary();?
A. The Employee class must have a salary field.
B. staff[0] must be assigned a non-null Employee object reference (e.g., staff[0] =
new Employee(...);).
C. The array must be sorted by salary.
D. The getSalary() method must be declared static.
33. Which loop structure is generally preferred when you need to iterate through all
elements of an array but do not need the index of each element?
A. Standard for loop (for(int i=0;...))
B. while loop with a counter
C. do-while loop
D. Enhanced for loop (for(type item : array))
34. Accessing an element in a 3D array data[x][y][z] requires how many indices?
A. 1
B. 2
C. 3
D. Depends on the size of the dimensions.
35. If Arrays.binarySearch(myArray, key) returns a negative value, it signifies:
A. The array was not sorted correctly.
B. The key value was found at multiple locations.
C. The key value was not found in the array.
D. The key value is negative.
36. Comparing insertion sort and bubble sort, which statement is generally more accurate
for nearly sorted arrays?
A. Bubble sort performs significantly better.
B. Insertion sort often performs significantly better.
C. Both have identical performance characteristics.
D. Neither algorithm can handle nearly sorted arrays.
37. Which is NOT a valid way to specify the size when creating an array new double[size]?
A. size is an integer literal (e.g., 10).
B. size is a final integer constant (e.g., MAX_SIZE).
C. size is an integer variable (e.g., userCount).
D. size is a double variable (e.g., avgValue).
38. How do you get the number of columns in the first row of a 2D array grid?
A. grid.length
B. grid[0].length
C. grid.length[0]
D. grid[].length
39. What is the purpose of the temp variable in sorting algorithms like bubble sort?
A. To count the number of passes.
B. To store the index of the smallest element.
C. To temporarily hold a value during a swap operation.
D. To store the comparison result.
40. Which of these is a key characteristic of standard Java arrays compared to ArrayList?
A. Arrays can hold primitives directly, ArrayList cannot (uses wrappers).
B. Arrays can change size dynamically, ArrayList cannot.
C. Arrays have more built-in methods for manipulation.
D. Arrays are part of the java.util package, ArrayList is part of java.lang.
41. Consider the following code:
public static void main(String[] args) {
int[] nums = {50, 20, 40, 10, 30};
process(nums);
System.out.println(nums[1]);
}
public static void process(int[] arr) {
Arrays.sort(arr);
arr[1] = 99;
}
What is the output?
A. 20
B. 99
C. 30
D. 10
42. What is the difference between data[x].length and data[x].length() in the
context of arrays?
A. They are interchangeable.
B. data[x].length is for 2D arrays, data[x].length() is for 1D arrays.
C. data[x].length accesses the length field of an array (likely a row in a 2D array),
while data[x].length() would be a method call on an object (like a String) stored at
data[x].
D. data[x].length gives the number of elements, data[x].length() gives the size in
bytes.
43. If you need to store the number of students in 3 different courses offered over 4
semesters, which data structure is most appropriate?
A. A 1D array.
B. Three parallel 1D arrays.
C. A 2D array (e.g., students[course][semester]).
D. A jagged array.
44. When using an initialization list for a 2D array like int[][] vals = {{1,2},{3,4}};,
what is the correct way to conceptualize it?
A. An array containing two other arrays as its elements.
B. A flat list of 4 integers.
C. An array where rows and columns are interchangeable.
D. A special type of jagged array.
45. A common error for beginners is forgetting that the highest valid array index is:
A. array.length
B. array.length() - 1
C. array.length - 1
D. 0
46. The bubble sort algorithm gets its name because:
A. It uses temporary "bubble" variables for swapping.
B. Larger ("heavier") values tend to sink to the end, while smaller ("lighter") values rise
like bubbles.
C. It was invented by Professor Bubble.
D. Its performance graph looks like bubbles.
47. When searching an unsorted array for a value, which search method is typically
required?
A. Binary Search
B. Linear Search (checking each element one by one)
C. Hash Search
D. Insertion Search
48. What is the main disadvantage of using parallel arrays compared to an array of objects?
A. Performance is always worse.
B. The logical connection between related data points is maintained only by the
programmer's discipline using the same index, not enforced by structure.
C. Parallel arrays cannot be sorted.
D. Parallel arrays can only store primitive types.
49. In an insertion sort, the inner loop's primary function is to:
A. Find the smallest element in the unsorted portion.
B. Swap adjacent elements if they are out of order.
C. Count the number of elements processed so far.
D. Shift larger elements in the sorted portion to make space for the element being
inserted.
50. Consider int[] arr = {1, 3, 5, 7, 9};. What happens when Arrays.fill(arr,
1, 4, 0); is executed? (Note: this fill overload takes fromIndex inclusive, toIndex
exclusive.)
A. All elements become 0.
B. Elements at index 1, 2, 3 become 0 ({1, 0, 0, 0, 9}).
C. Elements at index 1, 2, 3, 4 become 0 ({1, 0, 0, 0, 0}).
D. An exception is thrown because fill only takes two arguments.
Answer Key
1. B
2. D
3. B
4. B
5. C
6. B
7. B
8. C
9. B
10. B
11. C
12. A
13. D
14. C
15. B
16. C
17. B
18. A
19. B
20. C
21. B
22. C
23. B
24. B
25. C
26. B
27. D
28. D
29. C
30. C
31. D
32. B
33. D
34. C
35. C
36. B
37. D
38. B
39. C
40. A
41. B
42. C
43. C
44. A
45. C
46. B
47. B
48. B
49. D
50. B
Advanced Java Array Concepts MCQs
1. When performing an ascending bubble sort, which pair of elements is compared first in
the very first pass?
A. The first and the last
B. The last and the second-to-last
C. The first and the second (index 0 and 1)
D. The middle two elements
2. In the standard bubble sort algorithm, how many passes are required at most to
guarantee sorting an array of size N?
A. N
B. N – 1
C. N / 2
D. Log N
3. The “optimized” bubble sort improves efficiency primarily by:
A. Using a binary search to find swap locations.
B. Reducing the number of comparisons needed in subsequent passes, as the largest
elements are already sorted.
C. Switching to insertion sort after the first pass.
D. Using a temp variable of a more efficient data type.
4. When sorting an array of Student objects by GPA in descending order using bubble sort,
the if condition for swapping array[b] and array[b+1] should be:
A. array[b].getGPA() > array[b+1].getGPA()
B. array[b].getGPA() < array[b+1].getGPA()
C. array[b] > array[b+1]
D. Arrays.compare(array[b], array[b+1]) < 0
5. Which statement accurately describes the insertion sort algorithm?
A. It repeatedly swaps adjacent elements until the largest element bubbles to the end.
B. It divides the array into two halves, sorts them recursively, and merges the results.
C. It iterates through the array, taking each element and inserting it into its correct
position within the already sorted portion preceding it.
D. It finds the minimum element in the unsorted portion and swaps it with the first
element of the unsorted portion.
6. In the provided insertion sort code example, the outer loop starts a at 1 because:
A. Index 0 cannot be accessed.
B. The element at index 0 is considered the initial “sorted” portion.
C. It improves efficiency by skipping the first comparison.
D. Swapping requires looking at a‑1.
7. For which type of input array does insertion sort generally exhibit its best‑case
performance?
A. An array sorted in reverse order.
B. An array with random values.
C. An array that is already sorted or nearly sorted.
D. An array containing many duplicate values.
8. How is a two‑dimensional array int[][] data = new int[4][5]; conceptually stored
in Java’s memory?
A. As a single contiguous block of 20 integers.
B. As an array of 4 references, each pointing to a separate array of 5 integers.
C. As an array of 5 references, each pointing to a separate array of 4 integers.
D. As a linked list of rows.
9. To access the element in the 3rd row and 2nd column of int[][] matrix, you would
use:
A. matrix[3][2]
B. matrix[2][1]
C. matrix[1][2]
D. matrix[2][3]
10. Given double[][] temps = {{0.0, 0.5}, {1.0, 1.5, 2.0}};, which statement is
true?
A. temps.length is 3.
B. temps[0].length is 3.
C. temps[1].length is 3.
D. This declaration causes a compile‑time error.
11. What distinguishes a jagged array from a standard rectangular 2D array?
A. Jagged arrays can only store primitive types.
B. Jagged arrays require three indices to access elements.
C. Rows in a jagged array can have different lengths (different numbers of columns).
D. Jagged arrays cannot be initialized using nested curly braces.
12. To correctly loop through all elements of a potentially jagged 2D array data, the inner
loop condition should use:
A. col < data.length
B. col < data[0].length
C. col < data[row].length
D. col < data.length * data[0].length
13. A 3D array sales[region][month][day] is declared. What does sales[2].length
represent?
A. The number of regions.
B. The number of days in month 2 of region 0.
C. The number of months recorded for region 2.
D. The number of days recorded for the first month of region 2.
14. Which method from the java.util.Arrays class requires the array to be sorted
beforehand for correct results?
A. fill()
B. equals()
C. sort()
D. binarySearch()
15. What value is typically returned by Arrays.binarySearch(sortedArray, key) if the
key is not found in the array?
A. 0
B. –1
C. A negative integer representing -(insertion point) – 1.
D. null
16. Arrays.sort(myObjects) will successfully sort an array of custom objects myObjects
if:
A. The objects have a public sortKey field.
B. The Object class implements Comparable.
C. The custom object class implements the Comparable interface or a Comparator is
provided.
D. The array is declared as final.
17. Which Arrays method is most suitable for initializing all elements of a large boolean
array to true?
A. sort()
B. fill()
C. binarySearch()
D. equals()
18. You have two arrays, codes = {'A', 'D', 'X'} and prices = {1.0, 2.5, 5.0}.
This is an example of:
A. A jagged array
B. A multidimensional array
C. Parallel arrays
D. An enumerated array
19. When using parallel arrays itemIDs and itemPrices to find the price for orderedID,
how do you get the price once orderedID == itemIDs[i] is true?
A. price = itemPrices[orderedID]
B. price = itemPrices[i]
C. price = Arrays.search(itemPrices, i)
D. price = itemIDs[i].getPrice()
20. A range match is typically used when:
A. Searching for an exact value in a sorted list.
B. Determining which category or bracket a given value falls into based on range
boundaries.
C. Comparing two arrays for equality.
D. Filling an array with a range of values.
21. In the provided FindDiscount example using range matching, why does the while loop
check sub >= 0 first?
A. To ensure the loop runs at least once.
B. To optimize the comparison by checking the most likely condition first.
C. To prevent an ArrayIndexOutOfBoundsException if numOrdered is smaller than the
lowest limit, causing sub to potentially go below 0.
D. It’s arbitrary; the order of conditions in the && doesn’t matter.
22. When passing an array myArray to a method process(int[] arr), what is actually
passed?
A. The number of elements in the array.
B. A copy of the entire array’s contents.
C. A copy of the memory address (reference) where the array is stored.
D. The first element of the array.
23. If method m1 calls m2(arr), and m2 modifies arr[0], this change is visible back in m1
because:
A. m2 implicitly returns the modified array.
B. Both methods are working with the same original array object via the passed
reference copy.
C. Primitive arrays are always passed by reference in Java.
D. The final keyword was not used when declaring the array.
24. What is the correct method signature for a method that accepts a 2D array of Strings?
A. public void process(String[] data)
B. public void process(String data[][])
C. public void process(String[][] data)
D. public void process(String.. data)
25. What is the correct method signature for a method that returns a 2D array of doubles?
A. public return double[][] getData() { … }
B. public double[][] getData() { … }
C. public double getData()[][] { … }
D. public void getData() returns double[][] { … }
26. In the context of the Arrays class, parallelSort() might offer performance benefits over
sort() primarily when:
A. Sorting small arrays (less than 100 elements).
B. Sorting arrays of primitive types only.
C. Sorting very large arrays on multi‑core processor systems.
D. Sorting arrays that are already nearly sorted.
27. Why is bubble sort generally considered less efficient than algorithms like insertion sort
or merge sort for large datasets?
A. It requires more temporary variables.
B. Its worst‑case and average‑case time complexity is O(N²), involving many
comparisons and swaps.
C. It cannot sort arrays of objects.
D. It only works on integers.
28. When implementing a search for an item in an array, setting a boolean found flag and
using break once the item is found is an example of:
A. Optimizing the search by avoiding unnecessary comparisons.
B. A requirement for parallel arrays.
C. A technique used only in binary search.
D. A mandatory part of the try‑catch block for searching.
29. To represent monthly sales totals for 5 products over 3 years, the most fitting structure
would likely be:
A. A single 1D array of size 15.
B. Parallel arrays for each product.
C. A 3D array sales[product][year][month].
D. A jagged array where each row is a year.
30. What is the output of this code?
int[][] grid = {{1, 2}, {3, 4}};
System.out.println(grid[1][1]);
A. 1
B. 2
C. 3
D. 4
31. What is the output of this code?
int[][] ragged = new int[3][];
ragged[0] = new int[] {1};
ragged[1] = new int[] {2, 3};
ragged[2] = new int[] {4, 5, 6};
System.out.println(ragged[2].length);
A. 1
B. 2
C. 3
D. 6
32. Which Arrays class method would you use to determine if two different array variables
point to arrays containing the exact same sequence of values?
A. compare()
B. equals()
C. deepEquals()
D. == operator
33. Why might a programmer choose to use parallel arrays instead of an array of custom
objects?
A. Better type safety.
B. Simpler syntax for accessing related data.
C. Sometimes perceived as simpler for very basic, tightly coupled primitive data, or
when object overhead is a critical concern.
D. Required for using the Arrays.sort() method.
34. In the insertion sort, the temp variable holds:
A. The largest value found so far.
B. The index of the insertion point.
C. A boolean flag indicating if a swap occurred.
D. The current element being considered for insertion into the sorted portion.
35. A key difference between array.length (for arrays) and string.length() (for Strings) is:
A. array.length includes null terminators.
B. string.length() returns the size in bytes.
C. array.length is a final instance variable (field), while string.length() is a method.
D. array.length can be modified directly.
36. If you call Arrays.sort() on an array of Employee objects, and the Employee class does
not implement Comparable, what will happen?
A. The array will be sorted based on memory addresses.
B. A ClassCastException (or similar runtime error) will likely be thrown.
C. The Arrays.sort() method will use a default comparison based on the first field.
D. The sort operation will silently fail, leaving the array unchanged.
37. Consider the bubble sort code that swaps Employee objects. If temp = array[b]; is
executed, what does temp now contain?
A. A copy of the Employee object at array[b].
B. The salary of the employee at array[b].
C. A copy of the reference pointing to the same Employee object that array[b] points to.
D. The employee number.
38. When initializing a 2D array, int[][] table = {{1, 2}, {3, 4, 5}};, this creates a:
A. Rectangular array
B. Parallel array
C. Jagged array
D. Invalid array declaration
39. The binary search algorithm’s efficiency comes from:
A. Comparing every element sequentially.
B. Using parallel processing cores.
C. Eliminating half of the remaining search space with each comparison.
D. Swapping elements into sorted order during the search.
40. If processArray(int[] list) is a method, which call is syntactically correct?
A. processArray(myIntArray[]);
B. processArray(myIntArray());
C. processArray(myIntArray);
D. processArray(&myIntArray);
41. What is the primary role of the outer loop in the bubble sort algorithm?
A. To perform the element comparisons.
B. To ensure that the comparison process is repeated enough times to potentially sort
the entire array.
C. To hold the temporary value during swaps.
D. To track the smallest element found.
42. What is the primary role of the outer loop (while(a < someNums.length)) in the
provided insertion sort algorithm?
A. To shift elements to the right.
B. To iterate through the array elements starting from the second one, picking the
element to be inserted.
C. To perform the final swap operation.
D. To count the number of comparisons.
43. Which data structure is implicitly used by Java to manage method calls and is relevant
when tracing exceptions through nested method calls involving arrays?
A. ArrayList
B. Queue
C. Call Stack
D. HashMap
44. If a method needs to return both a sorted array and the number of swaps performed
during the sort, how might this be achieved?
A. Return the swap count and modify the original array passed by reference.
B. Use return {sortedArray, swapCount}; .
C. Return a custom object containing both the array and the count, or return one and
modify a passed‑in object/array holding the other.
D. This is not possible in Java.
45. What is a potential drawback of the simple bubble sort (even the optimized version)
compared to more advanced sorts like QuickSort or MergeSort?
A. Inability to sort objects.
B. Higher memory usage due to recursion.
C. Significantly worse average and worst‑case time performance (O(N²) vs O(N log N))
for large datasets.
D. Only works for integer arrays.
46. You want to create a lookup table where score[gradeLevel][subjectCode] gives the
average score. This implies using a:
A. Jagged Array
B. Parallel Array
C. 1D Array
D. 2D Array
47. The Arrays.equals() method considers two arrays a and b equal if:
A. a == b is true.
B. They have the same length and corresponding elements are equal according to
equals() (or == for primitives).
C. Both arrays are sorted.
D. They contain the same elements, regardless of order.
48. What does the inner while loop (while(b >= 0 && someNums[b] > temp) ) in the
insertion sort achieve?
A. Finds the minimum element in the unsorted section.
B. Compares adjacent elements for swapping like bubble sort.
C. Iteratively shifts elements in the sorted portion that are larger than temp one
position to the right.
D. Counts the elements smaller than temp.
49. Passing a 2D array scores[][] to myMethod(int[][] data) means data inside the
method refers to:
A. A complete, independent copy of the scores array.
B. The first row of the scores array only.
C. The same 2D array object as scores in the caller’s scope.
D. A 1D representation of the scores array.
50. If Arrays.binarySearch() is performed on an unsorted array, the result is:
A. Always –1.
B. Guaranteed to throw an exception.
C. The correct index if the element happens to be found by chance.
D. Unpredictable and unreliable; it might return a wrong index or a misleading negative
value.
Answer Key
1. B
2. B
3. B
4. B
5. C
6. B
7. C
8. B
9. B
10. C
11. C
12. C
13. C
14. D
15. C
16. C
17. B
18. C
19. B
20. B
21. C
22. C
23. B
24. C
25. B
26. C
27. B
28. A
29. C
30. D
31. C
32. C
33. C
34. D
35. C
36. B
37. C
38. C
39. C
40. C
41. B
42. B
43. C
44. C
45. C
46. D
47. B
48. C
49. C
50. D
0
You can add this document to your study collection(s)
Sign in Available only to authorized usersYou can add this document to your saved list
Sign in Available only to authorized users(For complaints, use another form )