Главная / Программирование /
Язык программирования 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) Нет