Главная / Программирование /
Язык программирования C / Тест 5
Язык программирования C - тест 5
Упражнение 1:
Номер 1
int X, *PX;
Как получить адрес переменной X
?
Ответ:
 (1) *PX = X
 
 (2) PX = &X
 
 (3) PX = *X
 
Номер 2
int Y, *PX;
Как извлечь содержимое указателя *PX
?
Ответ:
 (1) Y = *PX;
 
 (2) Y = &PX
 
 (3) &Y = *PX
 
Номер 3
Что произойдет в результате выполнения выражения: (*px)++
?
Ответ:
 (1) ничего не произойдет 
 (2) переменная, которая находится по адресу px
увеличится на 1
 
 (3) компилятор выдаст ошибку 
Упражнение 2:
Номер 1
Каким образом нужно описать функцию, чтобы вызванная процедура могла изменить переменную из вызывающей программы?
Ответ:
 (1) swap(A, B);
 
 (2) swap(&A, &B);
 
 (3) &swap(A, B);
 
Номер 2
int *PA; PA = &A[0];
Что произойдет в результате данного выражения?
Ответ:
 (1) PA
указывает на нулевой элемент массива A
 
 (2) PA
содержит адрес элемента A[0]
 
 (3) PA
содержит значение элемента A[0]
 
Номер 3
int *PA;
PA = &A[0];
X = *PA;
Что произойдет в результате данного выражения?
Ответ:
 (1) копирование адреса A[0]
в X
 
 (2) копирование содержимого A[0]
в X
 
 (3) X
содержит значение элемента массива A[1]
 
Упражнение 3:
Номер 1
На какой элемент массива указывает PA-I
, если PA
указывает на некоторый определенный элемент массива A
?
Ответ:
 (1) на элемент, стоящий на I
позиций после 
 (2) на элемент, стоящий на I
позиций до элемента 
 (3) такая запись не позволительна для указателей 
Номер 2
На какой элемент массива указывает PA+I
, если PA
указывает на некоторый определенный элемент массива A
?
Ответ:
 (1) на элемент, стоящий на I
позиций после 
 (2) на элемент, стоящий на I
позиций до элемента 
 (3) такая запись не позволительна для указателей 
Номер 3
На какой элемент массива указывает PA+2
, если PA
указывает на нулевой элемент массива A
?
Ответ:
 (1) на содержимое A[1]
 
 (2) на содержимое A[2]
 
 (3) такая запись не позволительна для указателей 
Упражнение 4:
Номер 1
Что произойдет в результате выполнения функции alloc(N)
?
Ответ:
 (1) такой функции в C нет 
 (2) освобождение приобретенной памяти, так что ее в дальнейшем можно снова использовать 
 (3) функция возвращает в качестве своего значения указатель, который указывает на первую из N
последовательных символьных позиций 
Номер 2
Что произойдет в результате выполнения функции free(P)
?
Ответ:
 (1) такой функции в C нет 
 (2) освобождение приобретенной памяти, так что ее в дальнейшем можно снова использовать 
 (3) функция возвращает в качестве своего значения указатель P
, который указывает на первую последовательность символьных позиций 
Номер 3
Какие операции можно проводить с указателями?
Ответ:
 (1) сложение указателя и целого 
 (2) вычитание двух указателей 
 (3) складывать два указателя 
 (4) делить два указателя 
 (5) умножать два указателя 
 (6) вычитание указателя и целого 
 (7) сдвигать два указателя 
 (8) сравнение двух указателей 
 (9) маскировать два указателя 
 (10) прибавлять к указателям переменные типа FLOAT
или DOUBLE
 
Упражнение 5:
Номер 1
Каким символом завершается внутреннее представление массива символов, так что программы могут находить его конец?
Ответ:
 (1) NULL
 
 (2) \0
 
 (3) \n
 
Номер 2
Какая длина символьного массива в памяти?
Ответ:
 (1) число символов между двойными кавычками 
 (2) на единицу больше числа символов между двойными кавычками 
 (3) на единицу меньше числа символов между двойными кавычками 
Номер 3
Отметьте эквивалентные строки кода:
Ответ:
 (1) while (*S++ = *T++);
 
 (2) while ((*S++ = *T++) == '\0')
 
 (3) while ((*S++ = *T++) != '\0')
 
Упражнение 6:
Номер 2
Можно ли использовать в C многомерные массивы?
Ответ:
 (1) только двумерные массивы 
 (2) можно 
 (3) нельзя 
Номер 3
Как правильно записывается двумерный массив?
Ответ:
 (1) DAY_TAB[I][J]
 
 (2) DAY_TAB [I, J]
 
 (3) DAY_TAB[I],[J]
 
Упражнение 7:
Номер 1
Как правильно инициализируется двумерный массив?
Ответ:
 (1) int massiv[2][3] = {(0, 1, 2),(3, 4, 5)};
 
 (2) int massiv[2,3] = {{0, 1, 2},{3, 4, 5}};
 
 (3) int massiv[2],[3] = {(0, 1, 2),(3, 4, 5)};
 
Номер 3
Можно ли использовать массив указателей?
Ответ:
 (1) нельзя 
 (2) можно 
Упражнение 8:
Номер 1
Позволяют ли системные средства, на которые опирается реализация языка C, передавать командную строку аргументов или параметров начинающей выполняться программе?
Ответ:
 (1) позволяют 
 (2) не позволяют 
Номер 2
Сколько аргументов вызываются одновременно с исполнением функции MAIN
?
Ответ:
 (1) 1 
 (2) 2 
 (3) 3 
Номер 3
Как называется по умолчанию первый аргумент функции main
?
Ответ:
 (1) argm
 
 (2) argv
 
 (3) argc
 
Упражнение 9:
Номер 1
Чем является первый аргумент функции main
?
Ответ:
 (1) числом аргументов в командной строке 
 (2) началом массива символьных строк 
 (3) название программы 
Номер 2
Как называется второй аргумент функции main
?
Ответ:
 (1) argm
 
 (2) argv
 
 (3) argc
 
Номер 3
Чем является второй аргумент функции main
?
Ответ:
 (1) числом аргументов в командной строке 
 (2) указателем на массив символьных строк 
 (3) названием программы 
Упражнение 10:
Номер 1
Являются ли в C функции переменными?
Ответ:
 (1) да 
 (2) нет 
Номер 2
Имеется ли возможность определить указатель на функцию?
Ответ:
 (1) да 
 (2) нет 
Номер 3
Какие операции можно проводить с указателями на функции?
Ответ:
 (1) складывать с числом 
 (2) передавать другим функциям 
 (3) помещать в массивы 
 (4) перемножать 
Упражнение 11:
Номер 1
Предусмотрены ли в C какие-либо операции для обработки всей строки символов как целого?
Ответ:
 (1) да 
 (2) нет 
Номер 2
С помощью какого символа программы могут находить конец символьного массива?
Ответ:
 (1) /0
 
 (2) \0
 
 (3) |0
 
Номер 3
Отметить неверное утверждение:
Ответ:
 (1) в языке C сами функции не являются переменными 
 (2) в языке C есть возможность определить указатель на функцию 
 (3) в языке C указатель на функцию можно обрабатывать, передавать другим функциям, помещать в массивы и т.д. 
Упражнение 12:
Номер 1
int (*comp)();
Что означает это описание?
Ответ:
 (1) comp
является указателем на функцию, которая ничего не возвращает 
 (2) comp
является указателем на функцию, которая возвращает значение типа int
 
 (3) comp
является функцией, возвращающей указатель на целые 
Номер 3
Можно ли указатель назвать переменной?
Ответ:
 (1) Да 
 (2) Нет