Вы находитесь на странице: 1из 5

Вопросы для самостоятельной

подготовки к экзамену
Основы программирования
на языке С++

Версия 1.0.2

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


к экзамену по предмету «Основы программирования на языке С++».
Преподаватель на экзамене может задавать вопросы из этого списка, а также лю-
бые другие вопросы по предмету.
Цель списка – помочь студенту в актуализации своих знаний по предмету.

1. Что такое алгоритм?


2. Какие бывают виды алгоритмов?
3. Объясните принцип работы компилятора.
4. Объясните принцип работы интерпретатора.
5. Почему С++ был спроектирован как компилируемый язык?
6. Какие бывают типы данных? Когда лучше использовать тот или иной тип данных?
7. Что такое переменная?
8. Что такое инкремент и декремент? В чем отличие префиксной и постфиксной
формы инкремента и декремента?
9. Для каких целей используется операция целочисленного деления по модулю?
10. Что такое явное преобразование данных? Приведите примеры явного преобра-
зования данных.
11. Что такое неявное преобразование данных? Приведите примеры неявного пре-
образования данных.
12. Что такое логический оператор? Объясните принцип работы &&, ||, !.
13. Что такое условие? Приведите примеры условий из обычной жизни.
14. Что такое if else if else? Объясните принцип его работы.
15. Что такое switch? Объясните принцип его работы.
16. Что такое цикл? Приведите примеры циклов из обычной жизни.
17. В чем отличие друг от друга while, for и do while.
18. Объясните принцип работы break и continue.
19. Что такое одномерный массив? Приведите примеры одномерных массивов из
обычной жизни.
20. Объясните схему размещения одномерного массива в памяти.
21. Объясните принцип работы индексации массивов.
22. Объясните принцип работы пузырьковой сортировки.
23. Объясните принцип сортировки выбором.
24. Объясните принцип сортировки вставками.
25. Объясните принцип линейного поиска.
26. Объясните принцип бинарного поиска.
27. Что такое сложность алгоритма?
28. Приведите примеры вычисления сложности алгоритмов.
29. Что такое многомерный массив? Объясните принцип размещения многомерного
массива в памяти.
30. Объясните принцип статического выделения памяти.
31. Что такое функция? Объясните синтаксис объявления функции.
32. Для чего используется ключевое свойство void?
33. Для чего используется ключевое свойство return?
34. Объясните принцип передачи параметров по значению в функцию.
35. Что такое область видимости?
36. В чем разница между локальными и глобальными переменными?
37. Объясните принцип передачи массива в функцию.
38. Что такое аргументы по умолчанию? Для чего их используют?
39. Что такое inline функция? Объясните принцип ее работы.
40. Что такое прототип функции?
41. Для чего используется перегрузка функций?
42. Можно ли перегрузить функцию на основании возвращаемого значения?
43. Что такое шаблонные функции? Приведите пример использования шаблонных
функций.
44. Для чего используются ключевые слова class и typename? Есть ли разница в их
использовании?
45. Для чего используется ключевое слово auto?
46. Для чего используется ключевое слово decltype?
47. Что такое хвостовой возвращаемый тип?

2
Вопросы для подготовки к экзамену «Основы программирования на языке С++»
Версия 1.0.2
48. Что такое рекурсия? Для чего используется рекурсия?
49. Какие преимущества и риски использования рекурсии?
50. Как создать функцию, принимающую неограниченное количество параметров?
51. Для каких целей создают функцию, принимающую неограниченное количество
параметров?
52. Что такое указатель? Для каких целей используются указатели?
53. Как получить адрес переменной?
54. Что такое оператор разыменования? Как его используют при работе с указателя-
ми?
55. Можно ли в указатель на переменную типа int записать адрес переменной типа
float? Обоснуйте свой ответ.
56. Для каких целей при работе с указателями используются NULL и nullptr?
57. Какая связь между массивами и указателями?
58. Как получить адрес нулевого элемента массива?
59. Какие арифметические операции можно использовать при работе с указателя-
ми?
60. Можно ли применять операцию сложения при работе с указателями? Обоснуйте
свой ответ.
61. Можно ли применять операцию вычитания при работе с указателями? Обоснуйте
свой ответ.
62. Какой размер указателя в байтах?
63. Что такое константный указатель? Для каких целей он используется?
64. Что такое указатель на константу? Для каких целей он используется?
65. В чем разница между константным указателем и указателем на константу?
66. Что такое стек? Объясните принцип работы стека.
67. Что такое динамическое выделение памяти? В чем разница между статическим и
динамическим выделением памяти?
68. Для каких целей используются операторы new и delete?
69. Что такое ссылка? Для каких целей используются ссылки?
70. Для каких целей используются константные ссылки?
71. Какой размер ссылки в байтах?
72. В чем отличие ссылки и указателя?
73. Для каких целей используется &&?
74. Опишите способы передачи параметров внутрь функции.

3
Вопросы для подготовки к экзамену «Основы программирования на языке С++»
Версия 1.0.2
75. В чем разница между передачей по значению и по указателю?
76. В чем разница между передачей по ссылке и по указателю?
77. Как получить адрес функции?
78. Для каких целей используются указатели на функцию?
79. Что такое нультерминированная строка?
80. Как узнать длину строки?
81. Как произвести конкатенацию строк?
82. Как найти символ в строке?
83. Как найти подстроку в строке?
84. Как заменить символ в строке?
85. Как произвести разворот строки?
86. Что такое указатель на указатель?
87. Что является значением указателя на указатель?
88. Можно ли создать указатель на указатель на указатель на указатель? Если да, то
как? Как разыменовать такой указатель?
89. Зачем использовать указатель на указатель при передаче параметров в функцию?
90. Чем схема размещения в памяти двумерного динамического массива отличается
от схемы размещения двумерного статического массива?
91. Нарисуйте схему размещения трехмерного динамического массива в оператив-
ной памяти. Напишите код для создания трехмерного динамического массива.
92. Что такое структуры? Для какой цели их используют?
93. Напишите пример объявления и инициализации структуры.
94. Какие можно передать объект структуры внутрь функции?
95. Приведите пример использования ключевого слова typedef для структур.
96. Когда необходимо использовать вложенные структуры?
97. Что такое препроцессор? Объясните принцип его работы?
98. Что такое директива препроцессора? Приведите пример использования дирек-
тив препроцессора.
99. Объясните принцип работы директивы препроцессора define.
100. Приведите пример некорректного использования директивы препроцессора
define.
101. Для чего используются директивы ifdef ifndef?
102. Приведите пример кода для записи данных в файл.
103. Приведите пример кода для чтения данных из файла.

4
Вопросы для подготовки к экзамену «Основы программирования на языке С++»
Версия 1.0.2
104. Нужно ли закрывать файл по окончании работы с ним? Какие могут быть послед-
ствия незакрытия файла?
105. Объясните, что такое текущая позиция в файле. Как она передвигается?
106. Для чего используются битовые операции?
107. Какие битовые операции вы знаете? Приведите примеры использования.
108. Для чего используется битовое «И»? Приведите примеры использования.
109. Для чего используется битовое «ИЛИ»? Приведите примеры использования.
110. Для чего используется битовое «ИСКЛЮЧАЮЩЕЕ ИЛИ»? Приведите примеры
использования.

5
Вопросы для подготовки к экзамену «Основы программирования на языке С++»
Версия 1.0.2

Вам также может понравиться