wayground logo

Free Printable Worksheets

NEW

Font size

S
M
L
XL
Worksheets

Итоговый тест по С

Total questions: 20

Worksheet time: 11mins

Name
Class
Date
1.
  1. Какой тип данных в Си используется для хранения символа?

a)

char

b)

string

c)

int

d)

float

2.
  1. Как объявить массив из 10 целых чисел?

a)

int array = 10;

b)

int array[10];

c)

array[10] int;

d)

int[10] array;

3.
  1. Какая функция в C используется для изменения размера ранее выделенного блока памяти?

a)

malloc() 

b)

realloc() 

c)

free() 

d)

sizeof()

4.
  1. Что выведет этот код? 

int x = 5;

if (x > 3) {

    printf("A");

} else {

    printf("B");

}

a)

A

b)

B

c)

Ничего

d)

Ошибку 

5.

Как неправильно передать массив в функцию? 

a)

void func(int arr[]); 

b)

void func(int *arr); 

c)

void func(int arr); 

d)

все варианты 

6.

Как объявить двумерный массив 3x3? 

a)

int arr[3, 3]; 

b)

int arr[3][3]; 

c)

int arr(3)(3); 

d)

int arr = [3][3]; 

7.

Какой результат выполнения этого кода?

int i = 0;

while (i < 3) {

    printf("%d ", i++);

}

a)

0 1 2 

b)

1 2 3 

c)

0 1 2 3 

d)

Бесконечный цикл 

8.

Корректно ли код инициализирует массив из 5 элементов значениями 1, 2, 3, 4, 5?

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

a)

Да, верно

b)

Нет, нужно указать размер [ ]

c)

Нет, нужно использовать malloc()

d)

Нет, правильный вариант: int arr[] = (1,2,3,4,5)

9.

Какое ключевое слово используется для возврата значения из функции? 

a)

break 

b)

return

c)

exit 

d)

continue 

10.

Какой цикл выполнится хотя бы один раз? 

a)

for

b)

while

c)

do...while  

d)

Все варианты верны 

11.

Какая функция в C используется для сравнения двух строк?

a)

compare() 

b)

strcmp()  

c)

strcomp() 

d)

stringcmp()

12.

Как объявить указатель на целое число?

a)

int ptr; 

b)

*int ptr; 

c)

int *ptr; 

d)

ptr int; 

13.

Какой результат выполнения этого кода? 

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

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

a)

1

b)

2

c)

3

d)

Ошибка

14.

Что выведет этот код?

int nums[3] = {10, 20, 30};

printf("%d", nums[3]);

a)

30

b)

0

c)

Ошибку компиляции

d)

Неопределенное поведение (выход за границы массива)

15.

Какой заголовочный файл нужен для работы с функциями `printf` и `scanf`? 

a)

<math.h> 

b)

<string.h> 

c)

<stdio.h> 

d)

<stdlib.h> 

16.

Какой тип данных занимает 2 байт?

a)

char 

b)

short 

c)

int

d)

float

17.

Правильно ли скопирован один массив в другой в данном коде?

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

int dest[5];

 

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

    dest[i] = src[i];

}

a)

Да, верно

b)

Нет, нужно использовать dest = src

c)

Нет, нужно memcpy(dest, src, 5)

d)

Нет, массивы нельзя копировать

18.

Что выведет этот код? 

int x = 10;

int *p = &x;

printf("%d", *p);

a)

Адрес переменной 'x' 

b)

10

c)

Ошибку 

d)

Случайное значение 

19.

Корректно ли вычисляет сумму элементов массива данный код

int sum(int arr[], int size) {

    int result = 0;

    for (int i = 0; i <= size; i++) {

        result += arr[i];

    }

    return result;

}

… 

a)

Да, верно 

b)

Нет, нужно 'result = arr[i]'

c)

Нет, выход за границы массива 

d)

Нет, цикл бесконечный 

20.

Корректно ли код находит максимальный элемент в двумерном массиве 3x3? 

int findMax(int arr[3][3]) {

    int max = arr[0][0];

    for (int i = 0; i < 3; i++) {

        for (int j = 0; j < 3; j++) {

            if (arr[i][j] > max) {

                max = arr[i][j];

            }

        }

    }

    return max;

}

a)

Да, верно 

b)

Нет, нужно 'max = 0' 

c)

Нет, циклы работают неправильно 

d)

Нет, не хватает 'break'