C++ Arrays & Strings | Set 1
1. Which of the following correctly declares an array?
a) int array[10];
b) int array;
c) array{10};
d) array array[10];
Answer: A
Explanation: Because array variable and values need to be declared after the datatype only.
2. What is the index number of the last element of an array with 9 elements?
a) 9
b) 8
c) 0
d) Programmer-defined
Answer: B
Explanation: Because the first element always starts at 0. So it is on 8 position.
3. What is the correct definition of an array?
a) An array is a series of elements of the same type in contiguous memory locations
b) An array is a series of element
c) An array is a series of elements of the same type placed in non-contiguous memory locations
d) An array is an element of the different type
Answer: A
Explanation: The array location starts from zero, So it can accessed by array[6].
4. Which of the following gives the memory address of the first element in array?
a) array[0];
b) array[1];
c) array(2);
d) array;
Answer: D
Explanation: To get the address of ith index of an array, we use following syntax (arr + i). So as we need address of first index we will use (arr + 0) equivalent to arr.
5. What will be the output of the following C++ code?
#include <iostream>
using namespace std;
int array1[] = {1200, 200, 2300, 1230, 1543};
int array2[] = {12, 14, 16, 18, 20};
int temp, result = 0;
int main() {
for (temp = 0; temp < 5; temp++){
result += array1[temp];
}
for (temp = 0; temp < 4; temp++){
result += array2[temp];
}
cout << result;
return 0;
}
a) 6553
b) 6533
c) 6522
d) 12200
Answer: B
Explanation: In this program we are adding the every element of two arrays. Finally we got output as 6533.
6. Which of the following accesses the seventh element stored in array?
a) array[6];
b) array[7];
c) array(7);
d) array;
Answer: A
Explanation: The array location starts from zero, So it can accessed by array[6].
7. What will be the output of the following C++ code?
#include <iostream>
using namespace std;
int main() {
int array[] = {0, 2, 4, 6, 7, 5, 3};
int n, result = 0;
for (n = 0; n < 8; n++){
result += array[n];
}
cout << result;
return 0;
}
a) 25
b) 26
c) 27
d) 21
Answer: C
Explanation: We are adding all the elements in the array and printing it. Total elements in the array is 7, but our for loop will go beyond 7 and add a garbage value.
8. What will be the output of the following C++ code?
#include <iostream>
using namespace std;
int main() {
int a = 5, b = 10, c = 15;
int arr[3] = {&a, &b, &c};
cout << *arr[*arr[1] - 0];
return 0;
}
a) 15
b) 18
c) garbage value
d) compile time error
Answer: D
Explanation: The conversion is invalid in this array. So it will arise error. The following compilation error will be raised: cannot convert from ‘int *’ to ‘int’
This is because &a, &b and &c represent int* whereas the array defined is of int type.
9. What will be the output of the following C++ code?
#include <iostream>
using namespace std;
int main() {
char str[5] = "ABC";
cout << str [3];
cout << str;
return 0;
}
a) ABC
b) ABCD
c) AB
d) AC
Answer: A
Explanation: We are just printing the values of first 3 values.
10. What will be the output of the following C++ code?
#include <iostream>
using namespace std;
int main() {
char array[] = [10, 20, 30];
cout << -2 [array];
return 0;
}
a) -15
b) -30
c) compile time error
d) garbage value
Answer: B
Explanation: It’s just printing the negative value of the concern element.