подготовки к экзамену
Основы программирования
на языке С++
Версия 1.0.2
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