Вопрос 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++?
- Автоматически выделяет память для переменной
- Позволяет компилятору автоматически определить тип переменной
- Создает автоматически инициализируемую переменную
- Объявляет переменную как автоматически удаляемую при выходе из области видимости
Отправить ответы
Правильные ответы для самопроверки:
- a) Часть программы, где переменная может быть использована
- b) namespace
- c) Переменная, которая инициализируется только один раз и сохраняет свое значение между вызовами функции
- c) static_cast
- c) Строго типизированное перечисление, которое не позволяет неявное преобразование в целочисленные типы
- c) Объявляет использование конкретного имени из пространства имен
- b) Преобразование типов, которое выполняется компилятором автоматически
- d) Варианты b и c
- b) Пользовательский тип данных, который может содержать различные типы данных
- 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)