Wayground logo

Free Printable Worksheets

Font size

S
M
L
XL
Worksheets

C语言Array 数组基础知识测验

Total questions: 25

Worksheet time: 13mins

Name
Class
Date
1.

声明一个长度为 5 的整型数组的正确语法是?

a)

int array[5];

b)

int array{5};

c)

int[5] array;

d)

array[5] int;

2.

以下哪一行代码正确初始化一个整型数组?

a)

int array[] = {1, 2, 3};

b)

int array[3] = {1, 2};

c)

int array[3] = {1, 2, 3};

d)

以上皆对

3.

假设 int arr[5] = {0};,数组 arr 中的元素值为?

a)

未定义

b)

所有元素初始化为 0

c)

只有 arr[0] 为 0,其他为随机值

d)

编译错误

Compilation error

4.

如何访问数组中第三个元素(假设数组为 int arr[5])?

a)

arr(3)

b)

arr[2]

c)

arr[3]

d)

arr[1]

5.

数组索引的起始位置是?

a)

0

b)

1

c)

2

d)

-1

6.

给定数组 int arr[3] = {10, 20, 30};,arr[1] 的值是?

a)

10

b)

20

c)

30

d)

Undefined

7.

若 int arr[5];,则 arr[5] 表示什么?

a)

第六个元素

b)

数组的最后一个元素

c)

数组外的无效元素

d)

编译错误

8.

数组的大小在声明时必须是?

a)

编译时常量

Compile-time constant

b)

运行时变量

Run-time variable

c)

可以是变量或常量

Can be variable or constant

d)

大小可变

Variable size

9.

以下代码的输出是什么? int arr[] = {1, 2, 3}; printf("%d", arr[3]);

a)

1

b)

3

c)

Random value or runtime error

随机值或运行时错误

d)

Compilation error

编译错误

10.

给定 int arr[5] = {1, 2, 3};,arr[4] 的值是什么?

a)

1

b)

3

c)

0

d)

Undefined

11.

假设 int arr[5];,则 arr 占用的内存大小是多少(假设 int 为 4 Bytes)?

a)

5 Bytes

b)

10 Bytes

c)

20 Bytes

d)

25 Bytes

12.

如何将 arr 数组的第一个元素赋值为 10?

a)

arr[1] = 10;

b)

arr[0] = 10;

c)

arr[10] = 0;

d)

array[0] = 10;

13.

下列代码的输出是什么? int arr[3] = {5, 10, 15}; printf("%d", arr[1]);

a)

5

b)

10

c)

15

d)

编译错误

Compilation error

14.

对于声明 int arr[5];,以下哪种初始化是错误的?

a)

int arr[5] = {1, 2, 3, 4, 5};

b)

int arr[5] = {1, 2};

c)

int arr[5];

d)

int arr[5] = {1, 2, 3, 4, 5, 6};

15.

数组 arr 的基地址是什么?

a)

arr[0] 的地址

Address of arr[0]

b)

arr[1] 的地址

Address of arr[1]

c)

arr[2] 的地址

Address of arr[2]

d)

arr[0] 的值

Value of arr[0]

16.

如何在数组中存储 5 个整数并计算它们的总和?

a)

使用数组和循环

Use an array and a loop

b)

使用单个变量

Use a single variable

c)

使用指针

Use pointers

d)

以上均不可

None of the above

17.

给定 int arr[3] = {5, 10, 15};,以下哪个操作是非法的?

a)

arr[2] = 20;

b)

arr[0] = 5;

c)

arr[3] = 25;

d)

arr[1] = 10;

18.

以下哪个操作会修改数组的第一个元素?

a)

arr[0] = 10;

b)

arr[1] = 0;

c)

arr = 10;

d)

arr + 1 = 10;

19.

若 int arr[5] = {8, 9, 10, 11, 12};,则 arr[2] + arr[4] 的值为?

a)

18

b)

19

c)

22

d)

21

20.

若 int arr[5] = {8, 9, 10, 11, 12};,则 arr[2] + arr[4] / arr[1] 的值为?

a)

10

b)

11

c)

12

d)

13

21.

假设 int arr[5] = {1, 2, 3, 4, 5};,以下哪段代码可以将所有数组元素乘以 2?

a)

for (int i = 1; i <= 5; i++)

arr[i] *= 2;

b)

for (int i = 0; i <= 4; i++)

arr[i] *= 2;

c)

for (int i = 0; i < 5; i++)

arr[i] *= 2;

d)

for (int i = 1; i < 5; i++)

arr[i] *= 2;

22.

给定数组 int arr[3] = {5, 10, 15};,以下代码的输出是什么?

int sum = 0, i;

for (i = 0; i < 3; i += 2)

sum += arr[i];

printf("%d", sum);

a)

5

b)

10

c)

15

d)

20

23.

以下代码的输出是什么?

int arr[4] = {10, 20, 30, 40};

arr[1] = arr[3];

printf("%d", arr[1]);

a)

10

b)

20

c)

30

d)

40

24.

如何访问数组中倒数第二个元素(假设数组长度为 n)?

a)

arr[n]

b)

arr[n-1]

c)

arr[n-2]

d)

arr[n-3]

25.

给定 int arr[5] = {2, 4, 6, 8, 10};,以下代码输出什么?

int sum = 0, i;

for (i = 0; i < 5; i++)

if (arr[i] % 4 == 0)

sum += arr[i];

printf("%d", sum);

a)

0

b)

4

c)

8

d)

12