Вопрос 1

Что такое область видимости в C++?

  • Часть программы, где переменная может быть использована
  • Размер переменной в памяти
  • Тип данных переменной
  • Значение переменной

Вопрос 2

Какое ключевое слово используется для создания пространства имен в C++?

  • space
  • namespace
  • scope
  • region

Вопрос 3

Что такое static переменная в C++?

  • Переменная, которая не может изменить свое значение
  • Переменная, которая создается при каждом вызове функции
  • Переменная, которая инициализируется только один раз и сохраняет свое значение между вызовами функции
  • Переменная, которая видна во всей программе

Вопрос 4

Какой оператор используется для явного приведения типов в C++?

  • cast
  • convert
  • static_cast
  • type

Вопрос 5

Что такое enum class в C++?

  • Тип данных для хранения только числовых значений
  • Класс для создания перечислений
  • Строго типизированное перечисление, которое не позволяет неявное преобразование в целочисленные типы
  • Способ создания классов с ограниченным набором методов

Вопрос 6

Что делает ключевое слово using в C++?

  • Создает новое пространство имен
  • Импортирует все имена из пространства имен
  • Объявляет использование конкретного имени из пространства имен
  • Удаляет пространство имен

Вопрос 7

Что такое неявное преобразование типов в C++?

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

Вопрос 8

Какое ключевое слово используется для создания псевдонима типа в C++?

  • alias
  • typedef
  • using
  • Варианты b и c

Вопрос 9

Что такое структура в C++?

  • Тип данных для хранения только числовых значений
  • Пользовательский тип данных, который может содержать различные типы данных
  • Специальный тип массива
  • Функция для группировки переменных

Вопрос 10

Что делает ключевое слово auto в C++?

  • Автоматически выделяет память для переменной
  • Позволяет компилятору автоматически определить тип переменной
  • Создает автоматически инициализируемую переменную
  • Объявляет переменную как автоматически удаляемую при выходе из области видимости

Отправить ответы

Правильные ответы для самопроверки:

  1. a) Часть программы, где переменная может быть использована
  2. b) namespace
  3. c) Переменная, которая инициализируется только один раз и сохраняет свое значение между вызовами функции
  4. c) static_cast
  5. c) Строго типизированное перечисление, которое не позволяет неявное преобразование в целочисленные типы
  6. c) Объявляет использование конкретного имени из пространства имен
  7. b) Преобразование типов, которое выполняется компилятором автоматически
  8. d) Варианты b и c
  9. b) Пользовательский тип данных, который может содержать различные типы данных
  10. b) Позволяет компилятору автоматически определить тип переменной

Задачи

Задача №1

Напишите программу, которая объявляет переменную типа int в глобальной области видимости, затем создает функцию, которая объявляет переменную с тем же именем в локальной области видимости. Выведите значения обеих переменных и объясните результат.

Пример вывода программы:


  

Глобальная переменная: 10

Локальная переменная: 20

Глобальная переменная после вызова функции: 10

  

Задача №2

Создайте пространство имен Mathematics и определите в нем константу PI. Затем используйте эту константу для вычисления площади круга с радиусом 5 единиц.

Пример вывода программы:


  

Площадь круга с радиусом 5: 78.5398

Площадь круга с радиусом 3.5: 38.4845

Площадь круга с радиусом 10: 314.159

  

Задача №3

Напишите функцию, которая принимает целое число и возвращает его строковое представление. Используйте явное преобразование типов.

Примеры вызова функции:


  

Ввод: 12345

Вывод: "12345"

  

Ввод: -987

Вывод: "-987"

  

Ввод: 0

Вывод: "0"

  

Задача №4

Создайте перечисление Color с несколькими цветами. Напишите функцию, которая принимает значение этого перечисления и выводит соответствующее название цвета.

Примеры вызова функции:


  

Ввод: Color::RED

Вывод: "Красный"

  

Ввод: Color::BLUE

Вывод: "Синий"

  

Ввод: Color::GREEN

Вывод: "Зеленый"

  

Задача №5

Объявите структуру Person с полями для имени, возраста и роста. Создайте массив из трех объектов этой структуры и выведите информацию о человеке с наибольшим ростом.

Пример вывода программы:


  

Человек с наибольшим ростом:

Имя: Иван

Возраст: 25

Рост: 185 см

  

Другой набор данных:

Человек с наибольшим ростом:

Имя: Анна

Возраст: 30

Рост: 175 см

  

Задача №6

Напишите программу, которая демонстрирует использование ключевого слова auto для объявления переменных различных типов. Объясните, как компилятор определяет тип каждой переменной.

Пример вывода программы:


  

a: 10 (тип: int)

b: 3.14 (тип: double)

c: Hello, auto! (тип: const char*)

d: true (тип: bool)

  

Задача №7

Создайте функцию, которая принимает два параметра типа const int& и возвращает их сумму. Объясните, почему использование констант и ссылок может быть полезным в этом случае.

Примеры вызова функции:


  

Ввод: 5, 7

Вывод: 12

  

Ввод: -3, 8

Вывод: 5

  

Ввод: 0, 0

Вывод: 0

  

Задача №8

Напишите программу, которая использует статическую локальную переменную для подсчета количества вызовов функции. Вызовите эту функцию несколько раз и выведите результат.

Пример вывода программы:


  

Вызов 1: Функция была вызвана 1 раз(а)

Вызов 2: Функция была вызвана 2 раз(а)

Вызов 3: Функция была вызвана 3 раз(а)

Вызов 4: Функция была вызвана 4 раз(а)

Вызов 5: Функция была вызвана 5 раз(а)

  

Задача №9

Создайте два пространства имен с одинаковыми именами функций. Продемонстрируйте, как можно вызвать каждую из этих функций, используя полные квалификаторы.

Пример вывода программы:


  

Вызов функции из пространства имен First: Hello from First namespace!

Вызов функции из пространства имен Second: Greetings from Second namespace!

  

Задача №10

Напишите программу, которая использует оператор using для создания псевдонима типа для длинного имени типа (например, std::vector<std::pair<int, std::string>>). Затем используйте этот псевдоним для объявления переменной.

Пример вывода программы:


  

Элемент 1: (10, Apple)

Элемент 2: (20, Banana)

Элемент 3: (30, Cherry)