Bird
Raised Fist0
Cprogramming~5 mins

Common array operations - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What is an array in C?
An array in C is a collection of elements of the same type stored in contiguous memory locations. It allows you to store multiple values under a single name and access them using an index.
Click to reveal answer
beginner
How do you access the third element of an array named arr?
You access it using arr[2] because array indexing starts at 0 in C.
Click to reveal answer
intermediate
How do you find the length of a statically declared array in C?
Use sizeof(arr) / sizeof(arr[0]) to get the number of elements in the array.
Click to reveal answer
intermediate
How can you copy elements from one array to another in C?
You can copy elements using a loop to assign each element individually, for example:
for(int i = 0; i < n; i++) { dest[i] = src[i]; }
Click to reveal answer
advanced
What is the result of accessing an array out of its bounds in C?
Accessing out of bounds leads to undefined behavior. It can cause crashes or incorrect data because C does not check array bounds.
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
Which of the following correctly declares an array of 5 integers?
Aint arr[5];
Bint arr();
Cint arr;
Darray int arr[5];
How do you get the number of elements in a statically declared array arr?
Acount(arr)
Bsizeof(arr) / sizeof(arr[0])
Carr.length
Dlength(arr)
What happens if you access arr[10] when arr has only 5 elements?
AReturns last element
BReturns 0
CCompiler error
DUndefined behavior
Which loop is commonly used to iterate over all elements of an array?
Ado-while loop
Bwhile loop
Cfor loop
Dswitch statement
Explain how to declare, initialize, and access elements of an array in C.
Think about how you store multiple values and get each one by its position.
You got /3 concepts.
    Describe common operations you can perform on arrays in C and any risks involved.
    Consider what you do with a list of items and what can go wrong if you go outside the list.
    You got /4 concepts.

      Practice

      (1/5)
      1. What does the following C code do?
      int arr[5] = {1, 2, 3, 4, 5};
      easy
      A. Creates an array of 5 integers with values 1 to 5
      B. Creates a pointer to an integer
      C. Declares a single integer variable
      D. Creates a 2D array of integers

      Solution

      1. Step 1: Understand the declaration

        The code declares an integer array named arr with size 5.
      2. Step 2: Check the initialization

        The array is initialized with values 1, 2, 3, 4, and 5 in order.
      3. Final Answer:

        Creates an array of 5 integers with values 1 to 5 -> Option A
      4. Quick Check:

        Array declaration with initialization = Creates an array of 5 integers with values 1 to 5 [OK]
      Hint: Array size and values match initialization count [OK]
      Common Mistakes:
      • Confusing array with pointer declaration
      • Thinking it's a single variable, not an array
      • Assuming it's a 2D array
      2. Which of the following is the correct syntax to access the third element of an array named arr?
      easy
      A. arr(3)
      B. arr[2]
      C. arr{3}
      D. arr[3]

      Solution

      1. Step 1: Recall array indexing in C

        Arrays in C use zero-based indexing, so the first element is arr[0].
      2. Step 2: Identify the third element index

        The third element is at index 2, so arr[2] accesses it.
      3. Final Answer:

        arr[2] -> Option B
      4. Quick Check:

        Third element index = 2 [OK]
      Hint: Remember C arrays start at index 0 [OK]
      Common Mistakes:
      • Using parentheses instead of brackets
      • Using 1-based indexing (arr[3])
      • Using curly braces for access
      3. What is the output of this C code?
      int arr[4] = {10, 20, 30, 40};
      int sum = 0;
      for(int i = 0; i < 4; i++) {
          sum += arr[i];
      }
      printf("%d", sum);
      medium
      A. 100
      B. 90
      C. Syntax error
      D. 40

      Solution

      1. Step 1: Sum all elements in the array

        The loop adds arr[0]=10, arr[1]=20, arr[2]=30, arr[3]=40 to sum.
      2. Step 2: Calculate the total sum

        10 + 20 + 30 + 40 = 100.
      3. Final Answer:

        100 -> Option A
      4. Quick Check:

        Sum of array elements = 100 [OK]
      Hint: Add all elements using loop index 0 to size-1 [OK]
      Common Mistakes:
      • Off-by-one error in loop causing wrong sum
      • Confusing sum with last element value
      • Syntax errors from missing semicolons
      4. Identify the error in this code snippet:
      int arr[3] = {1, 2, 3};
      for(int i = 0; i <= 3; i++) {
          printf("%d ", arr[i]);
      }
      medium
      A. Array size should be 4
      B. printf format specifier is wrong
      C. Loop condition should be i < 3, not i <= 3
      D. Variable i should be declared outside the loop

      Solution

      1. Step 1: Analyze loop condition

        The loop runs from i=0 to i=3 inclusive, so it accesses arr[3].
      2. Step 2: Check array bounds

        Array arr has size 3, valid indices are 0,1,2. Accessing arr[3] causes out-of-bounds error.
      3. Final Answer:

        Loop condition should be i < 3, not i <= 3 -> Option C
      4. Quick Check:

        Array index must be less than size [OK]
      Hint: Loop index must be less than array size [OK]
      Common Mistakes:
      • Using <= instead of < in loop condition
      • Assuming array size auto-expands
      • Misunderstanding printf format specifier
      5. You want to find the largest number in an integer array arr of size n. Which code snippet correctly does this?
      hard
      A. int max = arr[n]; for(int i = 0; i < n; i++) { if(arr[i] > max) max = arr[i]; }
      B. int max = 0; for(int i = 0; i <= n; i++) { if(arr[i] > max) max = arr[i]; }
      C. int max = arr[0]; for(int i = 1; i < n; i++) { if(arr[i] < max) max = arr[i]; }
      D. int max = arr[0]; for(int i = 1; i < n; i++) { if(arr[i] > max) max = arr[i]; }

      Solution

      1. Step 1: Initialize max with first element

        Set max = arr[0] to start comparison from first element.
      2. Step 2: Loop from second element to end

        Loop i from 1 to n-1, compare arr[i] with max, update max if arr[i] is larger.
      3. Step 3: Check other options for errors

        int max = 0; for(int i = 0; i <= n; i++) { if(arr[i] > max) max = arr[i]; } uses max=0 which fails if all numbers are negative; loop condition i <= n causes out-of-bounds; int max = arr[n]; for(int i = 0; i < n; i++) { if(arr[i] > max) max = arr[i]; } initializes max with arr[n] which is invalid index; int max = arr[0]; for(int i = 1; i < n; i++) { if(arr[i] < max) max = arr[i]; } finds minimum instead of maximum.
      4. Final Answer:

        int max = arr[0]; for(int i = 1; i < n; i++) { if(arr[i] > max) max = arr[i]; } -> Option D
      5. Quick Check:

        Initialize max with first element and compare correctly [OK]
      Hint: Start max with arr[0], loop i from 1 to n-1 [OK]
      Common Mistakes:
      • Using wrong loop bounds causing out-of-bounds access
      • Initializing max with 0 ignoring negative values
      • Confusing max with min logic
      Recommended

      Ready to prove it?

      Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

      10 questions~5 mineasy hard