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

Язык программирования C++ для профессионалов - тест 1

Упражнение 1:
Номер 1

Каким языком является С++?


Ответ:

 (1) модульным 

 (2) процедурным 

 (3) объектно-ориентированным 


Номер 2

Обязательно ли задавать в программе тип переменной?


Ответ:

 (1) обязательно 

 (2) необязательно 

 (3) зависит от назначения переменной 


Номер 3

Что называется перегрузкой функций?


Ответ:

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

 (2) наличие в программе функций с одним именем и разными аргументами 

 (3) многократный вызов функции в программе 


Упражнение 2:
Номер 3
Укажите отличия С++ от С

Ответ:

 (1) обобщенное программирование через шаблоны 

 (2) возможность перегрузки операторов 

 (3) поддержка пользовательских типов данных  

 (4) поддержка указателей на функции 

 (5) поддержка обработки исключений 


Упражнение 3:
Номер 1

Могут ли быть в классе несколько конструкторов и деструкторов?


Ответ:

 (1) может быть только один конструктор и один деструктор 

 (2) могут быть несколько конструкторов, но только один деструктор 

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

 (4) могут быть несколько деструкторов и несколько конструкторов 


Номер 2

Какая директива включает стандартные возможности ввода и вывода?


Ответ:

 (1) #include <fstream.h> 

 (2) #include <iostream.h> 

 (3) #include <math.h> 


Номер 3

Какой тип не определен в стандарте языка С++?


Ответ:

 (1) double 

 (2) string 

 (3) char 

 (4) float 

 (5) long double 


Упражнение 4:
Номер 1
Отметьте основные свойства объектно-ориентированного языка:

Ответ:

 (1) модульность 

 (2) абстракция 

 (3) иерархичность 

 (4) параллелизм 

 (5) инкапсуляция 


Номер 2
Какое из свойств  объектно-ориентированного языка не содержит С++

Ответ:

 (1) абстракция 

 (2) иерархичность 

 (3) модульность 

 (4) параллелизм 

 (5) инкапсуляция 


Номер 3
Отметьте истинное высказывание:

Ответ:

 (1) нельзя создать объект абстрактного класса 

 (2) нельзя определить указатель на тип абстрактного класса 

 (3) деструктор абстрактного класса всегда должен быть виртуальным 


Упражнение 5:
Номер 1
Базовый класс определен как class Base {…};. Какое из следующих объявлений правильно?

Ответ:

 (1) class Derived inherits Base { ... }; 

 (2) class Derived : public Derived { ... }; 

 (3) class Derived : public Base { ... };  


Номер 2

Отличия функций-членов от обычных функций:


Ответ:

 (1) функция-член объявляется в области видимости своего класса. К функции-члену можно обратиться с помощью одного из операторов доступа к членам – точки (.) или стрелки (->); 

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

 (3) функция-член может быть перегруженной 


Номер 3

Основные типы данных, наиболее приближенные к «аппаратной реализации»:


Ответ:

 (1) boolean 

 (2) char 

 (3) int 

 (4) short 

 (5) long 

 (6) real 


Упражнение 6:
Номер 1

Объявлен класс: class A { public: int a,b,c;}; A *obj;. Как обратиться к переменной с?


Ответ:

 (1) obj->a->b->c 

 (2) obj->c 

 (3) obj->a.c 


Номер 2

Объявлен класс: class A { public: int a,b,c;}; A obj;. Как обратиться к переменной с?


Ответ:

 (1) obj.c 

 (2) obj->c 

 (3) obj->a.c 


Номер 3

Объявлен класс A и объект d:

class A { int a, b, c; public: A() {a = 1; b = 2; c = 3; }; int get_a() { return a; } int get_c() { return c; } int get_b() { return b; } }; A* d = new A(); Как обратиться к переменной с?

Ответ:

 (1) d.c; 

 (2) d.get_c(); 

 (3) d->get_c(); 

 (4) d->c; 


Упражнение 7:
Номер 1

Определены классы:

class Base1 { public: void func(); }; class Base2 { public: void func(); }; class Derived: public Base1, public Base2 { … }; void main() { Derived a; … }; Какие из следующих операторов функции main() правильны?

Ответ:

 (1) a.func(); 

 (2) a.Base1.func(); 

 (3) a.Base2.func(); 

 (4) a.Base1::func(); 

 (5) a.Base2::func(); 


Номер 2

Верно ли объявлены следующие классы:

class MyClass1 { int n; MyClass1(int); ~MyClass1(); }; class MyClass2 { float s; MyClass2(int); ~MyClass2(); };

Ответ:

 (1) верно объявлен только MyClass1 

 (2) верно объявлен только MyClass2 

 (3) верны оба объявления 

 (4) неверны оба объявления 


Номер 3

В каком случае определение класса приведет к ошибке компиляции:

А) class MyClass { int n; // некий код ... int ADD(int n); MyClass(int); ~MyClass(); }; В) struct MyClass { int n; // некий код ... int ADD(int n); MyClass(int); ~MyClass(); };

Ответ:

 (1) только в "А" 

 (2) только в "В" 

 (3) в обоих определениях 

 (4) оба определения верны 


Упражнение 8:
Номер 1

Член класса, объявленный с атрибутом доступа public:


Ответ:

 (1) доступен из любого места программы 

 (2) доступен только функциям-членам и друзьям класса 

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


Номер 2

Член класса, объявленный с атрибутом доступа protected:


Ответ:

 (1) доступен из любого места программы 

 (2) доступен только функциям-членам и друзьям класса 

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


Номер 3

Член класса, объявленный с атрибутом доступа private:


Ответ:

 (1) доступен из любого места программы 

 (2) доступен только функциям-членам и друзьям класса 

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


Упражнение 9:
Номер 1
Перегружаемые унарные операции языка С++:

Ответ:

 (1)

 (2)

 (3)

 (4)

 (5)

 (6) += 

 (7) -= 

 (8)


Номер 2

Операции отношения языка С++:


Ответ:

 (1) == 

 (2) != 

 (3)

 (4)

 (5)

 (6) <= 

 (7) >= 

 (8) <> 


Номер 3

Арифметические операции языка С++:


Ответ:

 (1)

 (2)

 (3)

 (4)

 (5)


Упражнение 10:
Номер 1
Наследование - это:

Ответ:

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

 (2) процесс, посредством которого один объект может приобретать свойства другого 

 (3) способность объектов различных классов отвечать на запрос функции сообразно типу своего класса 

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


Номер 2

Какая функция должна присутствовать в каждой программе С++?


Ответ:

 (1) cout 

 (2) main; 

 (3) begin 


Номер 3

Инкапсуляция - это:


Ответ:

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

 (2) процесс, посредством которого один объект может приобретать свойства другого 

 (3) способность объектов различных классов отвечать на запрос функции сообразно типу своего класса 

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


Упражнение 11:
Номер 1

Абстракция данных - это:


Ответ:

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

 (2) процесс, посредством которого один объект может приобретать свойства другого 

 (3) способность объектов различных классов отвечать на запрос функции сообразно типу своего класса 

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


Номер 2

Парадигма процедурного программирования заключается в следующем:


Ответ:

 (1) определите, какие процедуры вам нужны, используйте лучшие из известных алгоритмов 

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

 (3) определите, какие типы вам нужны. Предоставьте полный набор операторов для каждого типа 

 (4) определите, какой класс вам нужен, предоставьте полный набор операций для каждого класса. Общность классов выразите явно, с помощью наследования 


Номер 3

Парадигма модульного программирования заключается в следующем:


Ответ:

 (1) определите, какие процедуры вам нужны, используйте лучшие из известных алгоритмов 

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

 (3) определите, какие типы вам нужны. Предоставьте полный набор операторов для каждого типа 

 (4) определите, какой класс вам нужен, предоставьте полный набор операций для каждого класса. Общность классов выразите явно, с помощью наследования 


Упражнение 12:
Номер 1

Парадигма программирования, поддерживающего абстракцию данных, заключается в следующем:


Ответ:

 (1) определите, какие процедуры вам нужны, используйте лучшие из известных алгоритмов 

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

 (3) определите, какие типы вам нужны. Предоставьте полный набор операторов для каждого типа 

 (4) определите, какой класс вам нужен, предоставьте полный набор операций для каждого класса. Общность классов выразите явно, с помощью наследования 


Номер 2
Для чего используется шаблон?

Ответ:

 (1) для описания функции или класса с явным указанием типа 

 (2) для описания функции или класса без явного указания типа 

 (3) для описания функции или класса c применением только пользовательских типов данных 


Номер 3

Что дает использование обработки особых ситуации?


Ответ:

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

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

 (3) возможность выдать сообщение пользователю в случае возникновения особой ситуации 




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