0% нашли этот документ полезным (0 голосов)
4 просмотров2 страницы

C++ Control Work

Контрольная работа по C++ включает тестовые задания и задачи на решение, охватывающие темы указателей, ссылок, массивов, строк, функций и рекурсии. Тесты требуют выбора правильного ответа на вопросы о поведении программ и концепциях языка, в то время как задачи требуют практического применения знаний для решения конкретных проблем. Время на выполнение работы составляет 1 час, а сложность заданий оценена как средняя.

Загружено:

sargis.sargis09
Авторское право
© All Rights Reserved
Мы серьезно относимся к защите прав на контент. Если вы подозреваете, что это ваш контент, заявите об этом здесь.
Доступные форматы
Скачать в формате DOCX, PDF, TXT или читать онлайн в Scribd
0% нашли этот документ полезным (0 голосов)
4 просмотров2 страницы

C++ Control Work

Контрольная работа по C++ включает тестовые задания и задачи на решение, охватывающие темы указателей, ссылок, массивов, строк, функций и рекурсии. Тесты требуют выбора правильного ответа на вопросы о поведении программ и концепциях языка, в то время как задачи требуют практического применения знаний для решения конкретных проблем. Время на выполнение работы составляет 1 час, а сложность заданий оценена как средняя.

Загружено:

sargis.sargis09
Авторское право
© All Rights Reserved
Мы серьезно относимся к защите прав на контент. Если вы подозреваете, что это ваш контент, заявите об этом здесь.
Доступные форматы
Скачать в формате DOCX, PDF, TXT или читать онлайн в Scribd

Контрольная работа по C++

Время: 1 час
Сложность: средняя
Темы: указатели, ссылки, массивы, строки, std::string, функции, структуры,
рекурсия, перегрузка, область видимости, static, const

Часть I. Тестовые задания (выберите один правильный ответ)


1. Что выведет программа?
int a = 10;
int* p = &a;
*p = 20;
cout << a;
а) 10
б) 20
в) ошибка
г) адрес a

2. Что произойдёт при попытке разыменовать nullptr?


а) ничего
б) программа завершится ошибкой
в) выведется 0
г) создастся новый объект

3. Чем отличается & при объявлении ссылки и при взятии адреса?


а) в первом случае — ссылка, во втором — адресная операция
б) они одинаковы
в) первая — логическая операция
г) синтаксическая ошибка

4. Как создать строку C-style и std::string?


а) char s[] = "Hello";
б) char* s = Hello;
в) string s = "Hello";
г) оба а) и в)

5. Что делает const в параметре функции: void print(const string& s)?


а) запрещает изменять s
б) делает копию s
в) освобождает память
г) ничего

6. Что выведет программа?


void f() {
static int x = 0; x++; cout << x; }
int main() { f(); f(); f(); }
а) 111
б) 123
в) 012
г) ошибка

7. Как получить доступ к полю структуры через указатель?


а) p.x
б) p->x
в) (*p).x
г) оба б) и в)

8. Что означает перегрузка функции?


а) дублирование кода
б) функции с одинаковым именем, но разными параметрами
в) наследование
г) вызов функции внутри другой

9. Что вычисляет рекурсивная функция:


int f(int n){ if(n==0) return 1; return n*f(n-1);}?
а) сумму чисел
б) факториал
в) Фибоначчи
г) произведение чисел от 1 до n

10. Что означает nullptr?


а) указатель на первый элемент
б) нулевой указатель
в) пустая строка
г) ошибка компиляции

Часть II. Задачи на решение


1. Используя указатели, поменяйте местами значения двух переменных a
и b.

2. Считать строку (char[]) и найти её длину без использования strlen.

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


квадратом.

4. Создать структуру Student (имя, возраст, средний балл) и вывести данные


о студенте с наивысшим средним баллом.

5. Используя рекурсию, вывести строку в обратном порядке.

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