A one-dimensional array in C++ is a collection of elements of the same type stored in contiguous memory locations, accessed by a single index.
Click to reveal answer
beginner
How do you declare a one-dimensional array of 5 integers in C++?
You declare it like this: int arr[5]; which creates an array named arr with 5 integer elements.
Click to reveal answer
beginner
How do you access the third element of an array named arr?
You access it using the index 2: arr[2] because array indexing starts at 0.
Click to reveal answer
intermediate
What happens if you try to access an array element outside its declared size?
Accessing outside the array size leads to undefined behavior, which can cause errors or unexpected results because you read or write memory not allocated for the array.
Click to reveal answer
beginner
How can you initialize a one-dimensional array with values at the time of declaration?
You can initialize it like this: int arr[3] = {10, 20, 30}; which sets the first element to 10, second to 20, and third to 30.
Click to reveal answer
What is the index of the first element in a C++ array?
A0
B1
C-1
DDepends on the array size
✗ Incorrect
In C++, array indexing always starts at 0.
Which of the following declares an array of 10 doubles?
Adouble arr()
Bdouble arr;
Cint arr[10];
Ddouble arr[10];
✗ Incorrect
The correct syntax for declaring an array of 10 doubles is double arr[10];.
What will happen if you access arr[5] in an array declared as int arr[5];?
AUndefined behavior
BReturns 0
CCompiler error
DReturns last element
✗ Incorrect
Accessing arr[5] is outside the bounds (valid indices are 0 to 4), causing undefined behavior.
How do you initialize an array with values 1, 2, 3 in C++?
Aint arr = {1, 2, 3};
Bint arr[3] = {1, 2, 3};
Cint arr(3) = {1, 2, 3};
Dint arr[] = 1, 2, 3;
✗ Incorrect
The correct way is int arr[3] = {1, 2, 3};.
What type of elements can a one-dimensional array hold?
AOnly integers
BElements of different data types
CElements of the same data type
DOnly characters
✗ Incorrect
Arrays hold elements all of the same data type.
Explain what a one-dimensional array is and how you use it in C++.
Think about a row of boxes where each box holds a value.
You got /4 concepts.
Describe how to declare, initialize, and access elements in a one-dimensional array.
Imagine labeling and filling boxes, then picking a box by its number.
You got /4 concepts.
Practice
(1/5)
1. What is the starting index of a one-dimensional array in C++?
easy
A. -1
B. 1
C. 0
D. Depends on the array size
Solution
Step 1: Understand array indexing in C++
Arrays in C++ always start indexing from 0, meaning the first element is at index 0.
Step 2: Confirm the index range
Indexes go from 0 up to size-1, so the first index is always 0 regardless of array size.
Final Answer:
0 -> Option C
Quick Check:
Array indexing starts at 0 [OK]
Hint: Remember: C++ arrays always start at zero index [OK]
Common Mistakes:
Thinking arrays start at 1
Assuming negative indexes are valid
Confusing with other languages
2. Which of the following is the correct way to declare an integer array of size 5 in C++?
easy
A. array<int> arr(5);
B. int arr(5);
C. int arr = new int[5];
D. int arr[5];
Solution
Step 1: Recall C++ array declaration syntax
In C++, a fixed-size array is declared using square brackets with size: int arr[5];
Step 2: Check other options for correctness
int arr(5); uses parentheses which is invalid for arrays. array<int> arr(5); uses incorrect syntax (not standard array). int arr = new int[5]; uses dynamic allocation syntax but is incorrect without pointer.
Final Answer:
int arr[5]; -> Option D
Quick Check:
Fixed-size arrays use square brackets [OK]
Hint: Use square brackets [] to declare fixed-size arrays [OK]
Common Mistakes:
Using parentheses instead of brackets
Confusing with vector syntax
Incorrect dynamic allocation syntax
3. What will be the output of the following code?
int arr[4] = {10, 20, 30, 40};
std::cout << arr[2];
medium
A. 30
B. 20
C. 40
D. Compilation error
Solution
Step 1: Identify the array elements and indexes
The array arr has elements: arr[0]=10, arr[1]=20, arr[2]=30, arr[3]=40.
Step 2: Access the element at index 2
arr[2] is 30, so std::cout will print 30.
Final Answer:
30 -> Option A
Quick Check:
arr[2] = 30 [OK]
Hint: Remember array index starts at 0, so arr[2] is third element [OK]
Common Mistakes:
Confusing index 2 with 1 or 3
Expecting output 20 or 40
Thinking code causes error
4. Identify the error in the following code snippet:
int arr[3] = {1, 2, 3};
for(int i = 0; i <= 3; i++) {
std::cout << arr[i] << " ";
}
medium
A. Missing semicolon after array declaration
B. Loop runs one time too many, causing out-of-bounds access
C. Syntax error in for loop declaration
D. Array size is incorrect, should be 4
Solution
Step 1: Analyze the loop range and array size
The array has size 3 with valid indexes 0,1,2. The loop runs from i=0 to i=3 inclusive, which means 4 iterations.
Step 2: Identify out-of-bounds access
When i=3, arr[3] is accessed, which is outside the array bounds and causes undefined behavior.
Final Answer:
Loop runs one time too many, causing out-of-bounds access -> Option B
Quick Check:
Loop index must be less than array size [OK]
Hint: Loop index must be less than array size, not less or equal [OK]
Common Mistakes:
Using <= instead of <
Assuming array size is 4
Ignoring out-of-bounds errors
5. Given an integer array arr of size n, which code snippet correctly calculates the sum of all elements?
hard
A. int sum = 0;
for(int i = 0; i < n; i++) sum += arr[i];
B. int sum = 0;
for(int i = 1; i < n; i++) sum += arr[i];
C. int sum = 0;
for(int i = 0; i <= n; i++) sum += arr[i];
D. int sum = arr[0];
for(int i = 1; i < n; i++) sum = arr[i];
Solution
Step 1: Understand correct loop bounds for array traversal
Array indexes go from 0 to n-1, so loop must run i from 0 to less than n.
Step 2: Check each option for correctness
int sum = 0;
for(int i = 1; i < n; i++) sum += arr[i]; starts from 1, missing arr[0]. int sum = 0;
for(int i = 0; i <= n; i++) sum += arr[i]; uses <= n, causing out-of-bounds access. int sum = 0;
for(int i = 0; i < n; i++) sum += arr[i]; correctly sums all elements from 0 to n-1. int sum = arr[0];
for(int i = 1; i < n; i++) sum = arr[i]; overwrites sum instead of adding.
Final Answer:
int sum = 0;
for(int i = 0; i < n; i++) sum += arr[i]; -> Option A
Quick Check:
Loop from 0 to n-1 sums all elements [OK]
Hint: Loop from 0 to less than n to cover all elements [OK]
Common Mistakes:
Starting loop at 1
Using <= n causing errors
Overwriting sum instead of adding
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.