игра брюс 2048
Главная / Программирование / Структуры и алгоритмы компьютерной обработки данных / Тест 18

Структуры и алгоритмы компьютерной обработки данных - тест 18

Упражнение 1:
Номер 1
Какой тип данных нельзя использовать в качестве типа элемента структуры?

Ответ:

 (1) массив 

 (2) функция 

 (3) указатель на структуру 

 (4) тип перечисления 


Номер 2
Какой тип данных можно использовать в качестве типа элемента структуры?

Ответ:

 (1) строка 

 (2) указатель на объявляемую структуру 

 (3) объявляемая структура 

 (4) массив указателей 


Номер 3
Какой тип данных нельзя использовать в качестве типа элемента структуры?

Ответ:

 (1) файл 

 (2) объединение 

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

 (4) указатель на указатель 


Упражнение 2:
Номер 1
Определите размер структуры, которая объявлена следующим образом:
		
 struct Book {
            int num[5];
            char titl[30];
            char x;
           };
		
		

Ответ:

 (1) 36 

 (2) 40 

 (3) 51 

 (4) 52 


Номер 2
Определите размер объединения, которое объявлено следующим образом:
		
 union Book {
            int num[5];
            char titl[30];
            char x;
           };
		
		

Ответ:

 (1) 36 

 (2) 32 

 (3) 30 

 (4) 52 


Номер 3
Определите размер структуры, которая объявлена следующим образом:
		
 struct Book {
            int number;
            union {
            char titl[30];
            char x;
           } info;
           };
		
		

Ответ:

 (1) 50 

 (2) 36 

 (3) 32 

 (4) 30 


Упражнение 3:
Номер 1
Объявлена структура mail. Укажите верные для этой структуры присваивания
		
struct mail {
             int id;  
             union {
                    struct {
                            char name[30];
                            char dept[10];
                            char location[3];
                           } active;
                    struct {
                            char name[30];
                            char street[20];
                            char city_state[3];
                            char zip[5];
                           } retired;
                   } info;
            } preson;
		
		

Ответ:

 (1) mail={1,'Petrov','Ufa','RUS'}; 

 (2) preson.id=23; 

 (3) preson.info.active.name='Petrov'; 

 (4) info.active.name='Petrov'; 

 (5) active.name='Petrov'; 


Номер 2
Объявлена структура mail. Укажите верные для этой структуры присваивания
		
struct mail {
             int id;  
             union {
                    struct {
                            char name[30];
                            char dept[10];
                            char location[3];
                           } active;
                    struct {
                            char name[30];
                            char street[20];
                            char city_state[3];
                            char zip[5];
                           } retired;
                   } info;
            } preson;
		
		

Ответ:

 (1) struct.preson={1,"Petrov","Ufa","RUS"}; 

 (2) preson.id="23"; 

 (3) preson.info.retired.name="Petrov"; 

 (4) preson.retired.name="Petrov"; 

 (5) preson.name="Petrov"; 


Номер 3
Объявлена структура mail. Укажите верные для этой структуры присваивания
		
struct mail {
             int id;  
             union {
                    struct {
                            char name[30];
                            char dept[10];
                            char location[3];
                           } active;
                    struct {
                            char name[30];
                            char street[20];
                            char city_state[3];
                            char zip[5];
                           } retired;
                   } info;
            } preson;
		
		

Ответ:

 (1) mail.preson={1,"Petrov","Ufa","RUS"}; 

 (2) preson.info.active.dept="Center"; 

 (3) preson.info.active={"Petrov","Ufa","RUS"}; 

 (4) dept.active.info.preson="Center"; 

 (5) name="Petrov"; 


Упражнение 4:
Номер 1
Укажите доступ к элементу структуры, эквивалентный обращению (*man).name:

Ответ:

 (1) man<-name 

 (2) *man.name 

 (3) man->name 

 (4) *(man.name) 


Номер 2
Укажите доступ к элементу структуры, эквивалентный обращению (*child).book[1]:

Ответ:

 (1) child->book[] 

 (2) child->book[1] 

 (3) *(child.book[1]) 

 (4) child.book 


Номер 3
Укажите доступ к элементу структуры, эквивалентный обращению woman->name:

Ответ:

 (1) name<-woman 

 (2) *woman.name 

 (3) *(woman.name) 

 (4) (*woman).name 


Упражнение 5:
Номер 1
Прототип функции объявлен так: struct Student f (char Name[30]); Данная функция:

Ответ:

 (1) возвращает структуру как результат 

 (2) возвращает указатель на структуру как результат 

 (3) передает структуру как параметр 

 (4) передает указатель на объект структурного типа как параметр 


Номер 2
Прототип функции объявлен так: struct Student *f (char Name[30]); Данная функция:

Ответ:

 (1) возвращает структуру как результат 

 (2) возвращает указатель на структуру как результат 

 (3) передает структуру как параметр 

 (4) передает указатель на объект структурного типа как параметр 


Номер 3
Прототип функции объявлен так: void STU (struct Student *pst); Данная функция:

Ответ:

 (1) возвращает структуру как результат 

 (2) возвращает указатель на структуру как результат 

 (3) передает структуру как параметр 

 (4) передает указатель на объект структурного типа как параметр 


Упражнение 6:
Номер 1
Объявлено объединение с битовыми полями и выполнено присваивание cod.n=12. Укажите значение поля a3
		
union { 
         unsigned n;
         struct { 
                 unsigned a0 : 1; 
                 unsigned a1 : 1;
                 unsigned a2 : 1;
                 unsigned a3 : 1;
                 unsigned a4 : 1;
                 unsigned a5 : 1;
                 unsigned a6 : 1;
                 unsigned a7 : 1;
                } byte;
        } cod;
		
		

Ответ:

 (1)

 (2)

 (3) 12 

 (4) 21 


Номер 2
Объявлено объединение с битовыми полями и выполнено присваивание cod.n=18. Укажите значение поля a2
		
union { 
         unsigned n;
         struct { 
                 unsigned a0 : 1; 
                 unsigned a1 : 1;
                 unsigned a2 : 1;
                 unsigned a3 : 1;
                 unsigned a4 : 1;
                 unsigned a5 : 1;
                 unsigned a6 : 1;
                 unsigned a7 : 1;
                } byte;
        } cod;
		
		

Ответ:

 (1)

 (2)

 (3)

 (4) 18 


Номер 3
Объявлено объединение с битовыми полями и выполнено присваивание cod.n=14. Укажите значение поля a1
		
union { 
         unsigned n;
         struct { 
                 unsigned a0 : 1; 
                 unsigned a1 : 1;
                 unsigned a2 : 1;
                 unsigned a3 : 1;
                 unsigned a4 : 1;
                 unsigned a5 : 1;
                 unsigned a6 : 1;
                 unsigned a7 : 1;
                } byte;
        } cod;
		
		

Ответ:

 (1)

 (2)

 (3)

 (4) 14 


Упражнение 7:
Номер 1
К битовым полям нельзя применять следующие действия:

Ответ:

 (1) объявлять массивы битовых полей 

 (2) обращаться через указатель: (*УказательНаСтруктуру).ИмяПоля 

 (3) объявлять битовые поля вне структур 

 (4) выполнять присваивания значений битовым полям 


Номер 2
К битовым полям можно применять следующие действия:

Ответ:

 (1) адресовать битовые поля 

 (2) объявлять битовые поля вне объединений 

 (3) обращаться через ссылку: УказательНаСтруктуру -> ИмяПоля 

 (4) выполнять арифметические операции над битовыми полями 


Номер 3
Какие действия не допустимы над битовыми полями?

Ответ:

 (1) объявлять массивы битовых полей 

 (2) обращаться через указатель: (*УказательНаСтруктуру).ИмяПоля 

 (3) объявлять битовые поля вне структур 

 (4) выполнять присваивания значений битовым полям 


Упражнение 8:
Номер 1
При объявлении
		
union { 
       unsigned a0 : 3; 
       unsigned a1 : 1;
       unsigned a2 : 2;
      } byte;
		
		битовые поля располагаются в памяти:
		

Ответ:

 (1) все в разных байтах 

 (2) поля перекрывают друг друга 

 (3) все поля располагаются в одном байте и имеют общее начало 

 (4) последовательно бит за битом 


Номер 2
При объявлении
		
struct { 
        unsigned a0 : 3; 
        unsigned a1 : 1;
        unsigned a2 : 3;
       } byte;
		
		битовые поля располагаются в памяти:
		

Ответ:

 (1) все с разными адресами 

 (2) в одном байте, в порядке, определяемом реализацией 

 (3) как массив битовых полей 

 (4) как указатели на битовые поля 


Номер 3
При объявлении
		
union { 
       unsigned a0 : 3; 
       unsigned a1 : 1;
       unsigned a2 : 2;
      } byte;
		
		битовые поля располагаются в памяти:
		

Ответ:

 (1) все в разных байтах 

 (2) поля перекрывают друг друга 

 (3) все поля располагаются в одном байте и имеют общее начало 

 (4) последовательно бит за битом 




Главная / Программирование / Структуры и алгоритмы компьютерной обработки данных / Тест 18