gosy_cpp_otvety

1. Балл за ответ: 1

Укажите правильное ключевое слово:

Ответы:
1) _void
2) explicit
3) int
// 2 и 3 зарезервированные слова в С++, т.е. оба подходят, хуйня какая-то

Вопрос №2. Балл за ответ: 1

Директивы препроцессора предназначены для

Ответы:
1) объявления методов
2) обработки исключений
3) обработки исходного текста программы перед компиляцией

Вопрос №3. Балл за ответ: 1

Укажите правильный тип данных для С++:

Ответы:
1) bool
2) protected
3) integer
4) oriental

Вопрос №4. Балл за ответ: 1

законченный фрагмент кода, к которому можно обратиться по имени называется:

Ответы:
1) функцией
2) классом
3) пространством имен
4) массивом

Вопрос №5. Балл за ответ: 1

Модификатор inline:

Ответы:
1) определяет тип последовательности
2) позволяет упростить вызов метода
3) рекомендует компилятору производить вывод в одну линию
4) рекомендует компилятору вместо обращения к функции помещать ее код непосредственно в каждую точку вызова

Вопрос №6. Балл за ответ: 1


Для грамотного написания множественных условий рекомендуется использовать:

Ответы:
1) оператор case
2) оператор IF
3) Оба оператора

Вопрос №7. Балл за ответ: 1

Директива #define используется для определения:

Ответы:
1) символических констант
2) макросов, которые выглядят как функции
3) символов, управляющих условной компиляцией
4) для всего вышеперечисленного

Вопрос №8. Балл за ответ: 1

Класс это:

Ответы:
1) тип данных, определяемый пользователем
2) более функциональный метод
3) отдельный модуль
Вопрос №9. Балл за ответ: 1

Основными свойствами ООП являются:

Ответы:
1) Инкапсуляция
2) Наследование
3) Полиморфизм
4) Абстрагирование // ?
5) Модульность
6) 1, 2, 3
7) 1,2,3,5
8) 1,2,4,5
// основные свойства ООП: абстракция, полиморфизм, инкапсуляция, наследование,
три последних просто не реально какие важные, опять хуй пойми что за вопрос

Вопрос №10. Балл за ответ: 1

Если n = 3, каков будет результат:
switch(n) { case ’3’: cout << “aaa \n”; break;
case 3: cout << “ббб \n”; break;
default: cout << “ввв \n”; break; }?

Ответы:
1) Ошибка компилятора
2) ааа
3) ббб
4) ввв
5) неопределенное поведение

Вопрос №11. Балл за ответ: 1

Инкапсуляция:

Ответы:
1) возможность создания иерархии классов, когда потомки наследуют все свойства своих предков, могут их изменять и добавлять новые
2) позволяет использовать класс в другом окружении и быть уверенным, что класс не испортит не принадлежащие ему области памяти, а также создавать библиотеки классов для применения во многих программах
3) возможность использовать в различных классах иерархии одно имя для обозначения сходных по смыслу действий и гибко выбирать требуемое действие во время выполнения программы
// хз, на русском языке, Инкапсуляция это объединения данных с кодом, и возможность защищать их от внешнего воздействия, еще проще говоря это использование
ключевых слов private, public и т.п., НО подходит только второе, и то через жопу написано, т.к. первое это наследование, третье это полиморфизм

Вопрос №12. Балл за ответ: 1

Полиморфизм:

Ответы:
1) возможность создания иерархии классов, когда потомки наследуют все свойства своих предков, могут их изменять и добавлять новые
2) позволяет использовать класс в другом окружении и быть уверенным, что класс не испортит не принадлежащие ему области памяти, а также создавать библиотеки классов для применения во многих программах
3) возможность использовать в различных классах иерархии одно имя для обозначения сходных по смыслу действий и гибко выбирать требуемое действие во время выполнения программы

Вопрос №13. Балл за ответ: 1

Инкапсуляция:

Ответы:
1) возможность создания иерархии классов, когда потомки наследуют все свойства своих предков, могут их изменять и добавлять новые
2) позволяет использовать класс в другом окружении и быть уверенным, что класс не испортит не принадлежащие ему области памяти, а также создавать библиотеки классов для применения во многих программах
3) возможность использовать в различных классах иерархии одно имя для обозначения сходных по смыслу действий и гибко выбирать требуемое действие во время выполнения программы
// аналогично Вопрос №11, т.е. тот же вопрос оО, полюбому хотели про наследование спросить =))

Вопрос №14. Балл за ответ: 1

Обычно классы определяются:

Ответы:
1) Глобально
2) Локально
3) Все вышеперечисленное
// ?

Вопрос №15. Балл за ответ: 1

Если i = 3, каков будет результат:
do { cout << (--i)-- << “ ”; } while ( i >= 2 && i < 5 ); ?

Ответы:
1) ошибка компиляции
2) цикл ни разу не будет выполнен
3) цикл будет выполняться бесконечно
4) 4 3 2 1
5) 4 3 2
6) 4 2 1
7) 4 2
// это что блять вообще за пиздец ???
Схуяли ошибка? Все правильно написано, кавычки правда word-овские.
Цикл do while не может не выполниться, минимум 1 раз, на то оно и do.
Схуяли ему выполняться бесконечно.
Теперь самое интересное:
cout << (--i)-- << “ ”; запись --i означает что сначала вычитаем, потом выводим
запись i-- означает, сначала выводим, потом вычитаем итого вывелось 2, i = 1
дальше проверка while, i = 1 не входит в ( i >= 2 && i < 5 )
итого на экране просто двоечка с пробельчиком, где этот вариант блять???

Вопрос №16. Балл за ответ: 1

Что означает запись while(false)?

Ответы:
1) бесконечный цикл
2) цикл, который не выполняется ни разу
3) ошибка компиляции
4) аварийный выход из программы

Вопрос №17. Балл за ответ: 1

Если i = 5, каков будет результат:
while (i <= 5) { cout << (--i)-- << “ “; if ( I < 2) break; } ?

Ответы:
1) ошибка компиляции
2) цикл ни разу не будет выполнен
3) цикл будет выполняться бесконечно
4) 4 3 2 1
5) 4 3 2
6) 4 2 1
7) 4 2
// пиздец очередной, до здравствуют товарищи экстрасенсы!
В общем так I != i, тут два варианта, если I не определена, то ошибка компиляции (я голосую за данный вариант),
Если I определена то хуй знает что вообще с этим делать, и что там лежит в I (тут подходят 2) and 3)),
Можно не исключать третий путь, где человек печатающий эту чушь случайно написал эту i вот такой I, ну вы поняли, тут тогда 7) 4 2

Вопрос №18. Балл за ответ: 1

Если функция вычисления суммы целых чисел от 1 до n имеет прототип sum(int n), запишите её рекурсивный вызов (используйте в качестве аргумента n):

Ответы:
1) n + sum(n-1)
2) sum(n)
3) sum(n) + (n-1)
4) sum(n) + sum(n-1)
int sum(int n)
{
if (n == 1)
return 1;
else
return n + sum(n-1);
}


Вопрос №19. Балл за ответ: 1

Какое из следующих утверждений об операторе return является верным?

Ответы:
1) оператор return должен стоять последним в теле функции
2) оператор return завершает выполнение функции
3) в теле функции должен присутствовать только один оператор return

Вопрос №20. Балл за ответ: 1

Укажите неверное выражение:

Ответы:
1) Конструктор не возвращает значения, даже типа void. Нельзя получить указатель на конструктор
2) Класс может иметь несколько конструкторов с разными параметрами для разных видов инициализации
3) Конструктор, который можно вызвать без параметров, называется конструктором по умолчанию
4) Конструкторы наследуются

Вопрос №21. Балл за ответ: 1

Если в программе уже имеется функция с прототипом int func(int k, double f), то какое из следующих объявлений не вызовет ошибки компиляции?

Ответы:
1) double func( int m, double g );
2) int func( double x, int y );
3) double func( int m, double h, int d = 0);
4) void func(( int m, double g = 3.14);

Вопрос №22. Балл за ответ: 1

Если функция вычисления факториала n имеет прототип fact(int n), запишите её рекурсивный вызов (используйте в качестве аргумента n):

Ответы:
1) n * fact(n-1)
2) fact(n)
3) fact(n) * fact(n-1)
4) fact(n) * (n-1)
int fact(int n)
{
if (n == 1)
return n;
else
return n * fact(n-1);
}

Вопрос №23. Балл за ответ: 1

Прототип функции задает

Ответы:
1) тип функции, включая количество и тип аргументов и тип результата
2) возможность выполнения этой функции из программ на других языках программирования
3) имя функции и минимальное количество параметров

Вопрос №24. Балл за ответ: 1

Если в массиве А 132 элемента, каким будет правильное обращение к последнему элементу массива?

Ответы:
1) A[132]
2) A[131]
3) A[133]
4) A[-1]

Вопрос №25. Балл за ответ: 1

Выберите вариант без ошибок:

Ответы:
1) void main()
{ int x=-5;
double z=fact(x);
cout<<"fact("< getch();
}
2) void main[]
{ int x=-5;
double z=fact(x);
cout<<"fact("< getch();
}
3) void main()
{ int x=-5;
double z=fact(x);
cout<<’fa
·< getch();
}

Вопрос №26. Балл за ответ: 1

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

Ответы:
1) int* array = new int[n];
delete[n] array;
2) int *array = new int[n];
delete array;
3) int *array = new int[n];
delete array[];
4) int *array = new int[n];
delete[] array;

Вопрос №27. Балл за ответ: 1

Переменную какого типа можно использовать в качестве селектора в операторе switch-case?

Ответы:
1) int[]
2) double
3) char
4) Переменную пользовательского класса
5) 1,2
6) 2,3
7) 3,4
// можно использовать целые числа и буквенные символы

Вопрос №28. Балл за ответ: 1

Что из перечисленного является примитивным типом?

Ответы:
1) Пользовательский класс
2) Пользовательская структура
3) Массив int[]
4) int

Вопрос №29. Балл за ответ: 1

Перечислите директивы ограничения видимости в порядке «увеличения открытости»

Ответы:
1) Public, protected, private
2) Public, private, protected
3) Рrivate, public, protected
4) Рrivate, protected, public

Вопрос №30. Балл за ответ: 1

Можно ли создавать в С++ абстрактные классы?

Ответы:
1) Нет, только обычные
2) Можно, при помощи ключевого слова abstract
3) Можно, при помощи ключевого слова virtual
4) абстрактным называется класс на самой вершине иерархии в системе классов
// Класс, который содержит хотя бы одну чисто виртуальную функцию считается абстрактным классом
class Shape
{
public:
    virtual double area() const = 0;
};
// хз что тут отвечать

Вопрос №31. Балл за ответ: 1

Для каких целей применяется ключевое слово const?

Ответы:
1) Позволяет задать константность объекта
2) Позволяет задать константность указателя
3) Позволяет указать, что данный метод не модифицирует члены класса, т.е. сохраняет состояние объекта
4) Все вышеперечисленное

Вопрос №32. Балл за ответ: 1

В чем различия между delete и delete[]?

Ответы:
1) delete предназначен для уничтожения объектов, память под которые выделена при помощи new(). delete[] для объектов выделенных при помощи оператора new[]()

2) delete удаляет объекты, а delete[] – коллекции.
3) Разницы нет

Вопрос №33. Балл за ответ: 1

Чему равна переменная х? int p = 5; int x = ++p++;

Ответы:
1) 7
2) 6
3) 5
4) Будет ошибка компилятора

Вопрос №34. Балл за ответ: 1

Чему равна переменная х? int p = 5; int x = ++p++;

Ответы:
1) 7
2) 6
3) 5
4) Будет ошибка компилятора

Вопрос №34. Балл за ответ: 1

Если записано:
void f() {static int a; a = 4;}
int main() { int a = 9; f(); cout << a; }
каков будет результат?

Ответы:
1) 9
2) 0
3) 4

Вопрос №35. Балл за ответ: 1

Может ли быть виртуальная функция у структуры?

Ответы:
1) да, может
2) нет, не может
3) может, но с ограничениями

Вопрос №36. Балл за ответ: 1

Если записано
class A { public: virtual void f() { cout << 1; } };
class B : public A
{ public: virtual void f() { cout << 2; } };
то что будет напечатано B b; b.f(); ?

Ответы:
1) 2
2) 2 1
3) 1 2
4) 1
5) ошибка

Вопрос №37. Балл за ответ: 1

Основная проблема множественного наследования состоит в

Ответы:
1) замедлении программы
2) необходимости явно указывать, к какому базовому классу принадлежит метод
3) возможности существования двух экземпляров базового класса
4) неэкономном расходовании памяти

Вопрос №38. Балл за ответ: 1

Какими по умолчанию объявляются методы класса?

Ответы:
1) private
2) public
3) protected
4) по умолчанию не объявляются

Вопрос №39. Балл за ответ: 1

Каким может быть аргумент деструктора?

Ответы:
1) адрес объекта
2) указатель this
3) аргумента не может быть
4) уничтожаемый объект

Вопрос №40. Балл за ответ: 1

Можно ли создать объект класса, у которого все атрибуты статические?

Ответы:
1) да, можно
2) вызовет ошибки компиляции
3) вызовет ошибку выполнения

Вопрос №41. Балл за ответ: 1

Об ошибке в конструкторе класса может сигнализировать:

Ответы:
1) возвращаемое значение
2) исключительная ситуация
3) вызов деструктора сразу в конструкторе

Вопрос №42. Балл за ответ: 1

Блок try catch

Ответы:
1) должен стоять в функции main
2) заключает участок кода в котором может сложиться исключительная ситуация
3) должен заканчиваться catch()
4) не может быть вложенным


Вопрос №43. Балл за ответ: 1

Если имеется код int x; cin >> x; и вводится “1.2”, то что будет в переменной x?

Ответы:
1) 1
2) 2
3) 1.2
4) 4
5) Другое
6) Произойдет ошибка

Вопрос №44. Балл за ответ: 1

Для того чтобы выполнить чтение из файла с произвольной позиции, надо использовать объект класса

Ответы:
1) strstream
2) ostream
3) ofstream
4) istream
5) ifstream
6) filestream
Вопрос №45. Балл за ответ: 1

Можно ли обращаться к элементам структуры?

Ответы:
1) можно, ко всем
2) можно, только если они объявлены public
3) только к определенным в структуре методам
// wtf

Вопрос №46. Балл за ответ: 1

Если имеется объявление int a[15], какой фрагмент кода выводит все элементы массива?

Ответы:
1) for (int k = 0; k <= 15; k++) cout << a[k]
2) for (int k = 1; k < 16; k++) cout << a[k]
3) for (int k = 0; k < 15; k++) cout << a[k]

Вопрос №47. Балл за ответ: 1

Абстрактный класс - это класс, в котором

Ответы:
1) есть хотя бы один виртуальный метод
2) есть виртуальный конструктор
3) есть виртуальный деструктор
4) есть чисто виртуальный метод

Вопрос №48. Балл за ответ: 1

Каков правильный заголовок шаблона

Ответы:
1) template
2) template
3) template
4) template

Вопрос №49. Балл за ответ: 1

Отметьте правильный вариант описания шаблона семейства функций:

Ответы:
1) template (class T) void change(T *p1, T *p2) {};
2) template; void change(T *p1, T *p2) {}
3) template void change(T *p1, T *p2) {};
4) template (class T); void change(T *p1, T *p2) {}
Вопрос №50. Балл за ответ: 1

Если имеется код
class A { public: int a; }; A*obj;
как обратиться к переменной а?

Ответы:
1) obj.a
2) obj-a
3) obj->a
4) obj::a
// здесь вообще объявление неправильное A*obj;
Если A obj; то obj.a
Если A*obj = new A(); то obj->a

Вопрос №51. Балл за ответ: 1
Что будет напечатано в результате
int x = 39, *p = &x; cout << p << “ ” << *p; ?

Ответы:
1) ошибка компиляции
2) не определено
3) адрес в памяти _39
4) 39_адрес в памяти

Вопрос №52. Балл за ответ: 1

Что нужно сделать для освобождения памяти после выполнения такого кода:
char *a; a = new char[20];?

Ответы:
1) delete []a;
2) delete a[];
3) delete a;

Вопрос №53. Балл за ответ: 1

Какая из записей является правильной записью абстрактного класса?

Ответы:
1) abstract class A { virtual f() = 0; };
2) class A { virtual f() = 0; };
3) class A { virtual f() ; };

Вопрос №54. Балл за ответ: 1

Может ли быть виртуальная функция у перечислимого типа?

Ответы:
1) да, может
2) нет, не может
3) может, но с ограничениями

Вопрос №55. Балл за ответ: 1

Если записано
class A { public: virtual void f() { cout << 1; } };
class B : public A
{ public: virtual void f() { cout << 2; } };
то что будет напечатано B b; A& a = b; a.f(); ?

Ответы:
1) 2
2) 2 1
3) 1 2
4) 1
5) ошибка

Вопрос №56. Балл за ответ: 1

Основная проблема множественного наследования состоит в

Ответы:
1) замедлении программы
2) необходимости явно указывать, к какому базовому классу принадлежит метод
3) возможности существования двух экземпляров базового класса
4) неэкономном расходовании памяти

Вопрос №57. Балл за ответ: 1

Произойдет ли ошибка при использовании следующей конструкции
class A { const int f() {}; };
g(const& A a) {a.f(); }?

Ответы:
1) не произойдет
2) да, ошибка компиляции
3) да, ошибка выполнения

Вопрос №58. Балл за ответ: 1

Если в классе операция new переопределена как void* operator new(int a, size_t size); то какой вызов этой операции правильный?

Ответы:
1) Foo* ptr = new (20) Foo;
2) Foo* ptr = new Foo(20);
3) Foo* ptr = new [20] Foo;

Вопрос №59. Балл за ответ: 1

Если имеется класс с двумя атрибутами:
class Complex {
double real;
double img; };
какой у него должен быть деструктор?

Ответы:
1) виртуальный деструктор
2) деструктор, вызывающий деструкторы атрибутов
3) деструктор не обязателен

Вопрос №60. Балл за ответ: 1

Если в классе операция delete переопределена как void operator delete(int x, void * addr); то при вызове
A* ptr; delete(10, ptr);

Ответы:
1) ошибка компиляции
2) освободится массив из 10 элементов типа А
3) аргумент 10 будет передан в оператор delete
15

Приложенные файлы

  • doc 17464016
    Размер файла: 106 kB Загрузок: 1

Добавить комментарий