игра брюс 2048
Главная / Программирование / Язык программирования C / Тест 6

Язык программирования C - тест 6

Упражнение 1:
Номер 1
С какого ключевого слова начинается описание структуры?

Ответ:

 (1) struct 

 (2) class 

 (3) union 


Номер 2
Что такое ярлык структуры?

Ответ:

 (1) обязательное имя, которое может использоваться в дальнейшем как сокращенная запись подробного описания 

 (2) необязательное имя, которое может использоваться в дальнейшем как сокращенная запись подробного описания 

 (3) элемент или переменная, упомянутые в структуре 


Номер 3
Что такое член структуры?

Ответ:

 (1) обязательное имя, которое может использоваться в дальнейшем как сокращенная запись подробного описания 

 (2) необязательное имя, которое может использоваться в дальнейшем как сокращенная запись подробного описания 

 (3) элемент или переменная, упомянутые в структуре 


Упражнение 2:
Номер 1
Как определить переменную D в качестве структуры типа DATE, не выделяя какую-либо память?

Ответ:

 (1) struct {...} DATE D 

 (2) struct DATE D 

 (3) struct D 


Номер 2
С помощью какой конструкции может быть указан член определенной структуры?

Ответ:

 (1) имя структуры.член 

 (2) член.имя структуры 

 (3) имя структуры:член 


Номер 3
Могут ли в C быть вложенные структуры?

Ответ:

 (1) не могут 

 (2) могут 


Упражнение 3:
Номер 1
Отметьте верные утверждения:

Ответ:

 (1) структуры можно присваивать или копировать как целое, и что они могут быть переданы функциям или возвращены ими 

 (2) единственные операции, которые вы можете проводить со структурами, состоят в определении ее адреса с помощью операции & и доступе к одному из ее членов 

 (3) автоматические структуры, как и автоматические массивы, не могут быть инициализированы 

 (4) инициализация не возможна в случае внешних или статических структур 


Номер 2
Как с помощью указателя P можно обратиться к члену структуры?

Ответ:

 (1) P.член структуры 

 (2) P-> член структуры 

 (3) (*P).член структуры 


Упражнение 4:
Номер 1
Можно ли в качестве членов структур использовать массивы?

Ответ:

 (1) можно 

 (2) нельзя 


Номер 2
Что будет результатом выражения: sizeof(OBJECT)?

Ответ:

 (1) целое, равное размеру указанного объекта в байтах 

 (2) целое, равное размеру указанного объекта в битах 

 (3) размер члена структуры 


Номер 3
Что должен содержать каждый узел двоичного дерева?

Ответ:

 (1) указатель на данные 

 (2) указатель узла левого потомка 

 (3) указатель узла правого потомка 


Упражнение 5:
Номер 2
Какую лучше использовать структуру данных, для решения задачи, состоящей в подсчете числа появлений всех слов в некотором файле ввода?

Ответ:

 (1) односвязный список 

 (2) двусвязный список 

 (3) двоичное дерево 


Номер 3
Какую лучше использовать структуру данных, для решения задачи, состоящей в подсчете числа появлений слов, среди которых много упорядоченных комбинаций?

Ответ:

 (1) двоичное дерево 

 (2) 2-3 деревья 

 (3) AVL деревья 


Упражнение 6:
Номер 3
Отметьте верные утверждения:

Ответ:

 (1) функция lookup(S,T) использует поиск по алгоритму хеширования 

 (2) поиск по алгоритму хеширования - поиск, при котором поступающее имя преобразуется в маленькое положительное число, которое затем используется для индексации массива указателей 

 (3) если никакие имена при хешировании не получают никакого значения, то элементом массива будет NULL 


Упражнение 7:
Номер 1
#DEFINE external 02 
#DEFINE static 04 
Что означает следующая идиома: FLAGS |= external | static;?

Ответ:

 (1) включает биты external и static в FLAGS 

 (2) выключает биты external и static в FLAGS 

 (3) для проверки на включение битов external и static в FLAGS 


Номер 2

#define EXTERN 02 
#define STAT 04
 
Что означает следующая идиома: flags &= ~(EXTERN | STAT);?

Ответ:

 (1) включает биты EXTERN и STAT в flags 

 (2) выключает биты EXTERN и STAT в flags 

 (3) для проверки на включение битов EXTERN и STAT в flags 


Номер 3
#DEFINE external 02
#DEFINE static 04 Что означает следующая идиома: IF ((FLAGS & (external | static)) == 0) ... ?

Ответ:

 (1) включает биты external и static в FLAGS 

 (2) выключает биты external и static в FLAGS 

 (3) для проверки на включение битов external и static в FLAGS 


Упражнение 8:
Номер 1
struct { unsigned IS_KEYWORD : 1; unsigned IS_EXTERN : 1; unsigned IS_STATIC : 1; } FLAGS; Отметьте верные утверждения:
		

Ответ:

 (1) здесь определяется переменная с именем FLAGS, которая содержит три 1-битовых поля 

 (2) следующее за двоеточием число задает ширину поля в байтах 

 (3) поля описаны как unsigned, чтобы подчеркнуть, что они действительно будут величинами без знака 


Номер 2
struct { unsigned IS_KEYWORD : 1; unsigned IS_EXTERN : 1; unsigned IS_STATIC : 1; } FLAGS; Как включить биты IS_EXTERN и IS_STATIC?

Ответ:

 (1) FLAGS.IS_EXTERN = FLAGS.IS_STATIC = 0; 

 (2) FLAGS.IS_EXTERN = FLAGS.IS_STATIC = 1; 

 (3) FLAGS |= external | static; 


Номер 3
struct { UNSIGNED IS_KEYWORD : 1; UNSIGNED IS_EXTERN : 1; UNSIGNED IS_STATIC : 1; } FLAGS; Как выключить биты IS_EXTERN и IS_STATIC?

Ответ:

 (1) FLAGS.IS_EXTERN = FLAGS.IS_STATIC = 0; 

 (2) FLAGS.IS_EXTERN = FLAGS.IS_STATIC = 1; 

 (3) FLAGS &= \^(external \! static); 


Упражнение 9:
Номер 1
Что произойдет, если поле перекроет границу INT?

Ответ:

 (1) тип INT меняется на тип LONG 

 (2) ошибка компилятора 

 (3) поле выравнивается по границе следующего INT 


Номер 2
Что произойдет, если полю не присвоить имя?

Ответ:

 (1) ничего, это допустимо, неименованные поля (только двоеточие и ширина) используются для заполнения свободного места 

 (2) ошибка при выполнении программы 

 (3) ошибка компилятора 


Упражнение 10:
Номер 1
Что такое объединение?

Ответ:

 (1) это переменная, которая в различные моменты времени может содержать объекты разных типов и размеров, причем компилятор берет на себя отслеживание размера и требований выравнивания 

 (2) это набор из одной или более переменных, возможно различных типов, сгруппированных под одним именем для удобства обработки 


Номер 2
Могут ли объединения появляться в структурах?

Ответ:

 (1) не могут 

 (2) могут 


Номер 3
Могут ли структуры появляться в объединениях?

Ответ:

 (1) могут 

 (2) не могут 


Упражнение 11:
Номер 1
Каким образом может быть осуществлен доступ к членам объединения?

Ответ:

 (1) имя объединения.член 

 (2) имя объединения -> член 

 (3) указатель объединения -> член 


Номер 2
Какие операции можно производить с объединениями?

Ответ:

 (1) доступ к члену и извлечение адреса 

 (2) объединения могут быть присвоены, переданы функциям или возвращены ими 

 (3) указатели объединений можно использовать в точно такой же манере, как и указатели структур 


Номер 3
С помощью какого оператора в языке C можно присвоить новое имя существующему типу?

Ответ:

 (1) type 

 (2) type def 

 (3) typedef 

 (4) new 

 (5) newtype 


Упражнение 12:
Номер 1
typedef int (*PFI) (); Что произойдет в результате выполнения этого кода?

Ответ:

 (1) создает тип PFI для"указателя функции, возвращающей значение типа int

 (2) создает тип int для"указателя функции, возвращающей значение типа PFI

 (3) компилятор выдаст ошибку 


Номер 2
Отметьте верные утверждения:

Ответ:

 (1) описание typedef не приводит к созданию нового в каком-либо смысле типа; оно только добавляет новое имя для некоторого существующего типа 

 (2) описанные typedef переменные обладают точно теми же свойствами, что и переменные, описанные явным образом 

 (3) по существу конструкция typedef сходна с #DEFINE за исключением того, что она интерпретируется компилятором и потому может осуществлять подстановки текста, которые выходят за пределы возможностей макропроцессора языка C 


Номер 3
Какие существуют причины применения описания typedef?

Ответ:

 (1) облегчить решение проблемы переносимости 

 (2) обеспечении лучшей документации для программы  




Главная / Программирование / Язык программирования C / Тест 6