- •Лабораторная работа 1
- •Теоретические сведения
- •Ход работы
- •Задание
- •Контрольные вопросы
- •Література
- •Лабораторная работа 2
- •Теоретические сведения
- •Ход работы
- •Контрольные вопросы
- •Література
- •Лабораторная работа 3
- •Теоретические сведения
- •Ход работы
- •Контрольные вопросы
- •Література
- •Лабораторная работа 4
- •Теоретические сведения
- •Ход работы
- •Контрольные вопросы
- •Література
- •Лабораторная работа 5
- •Теоретические сведения
- •Основные библиотечные математические функции c
- •Основные стандартные функции и макросы c (из библиотеки stdlib.H)
- •Основные библиотечные функции c для работы с символами
- •Основные библиотечные функции c для работы с символьными массивами
- •Ход работы
- •Контрольные вопросы
- •Література
- •Лабораторная работа 6
- •Теоретические сведения
- •Ход работы
- •Контрольные вопросы
- •Література
- •Лабораторная работа 7
- •Теоретические сведения
- •Ход работы
- •Контрольные вопросы
- •Література
- •Лабораторная работа 8
- •Теоретические сведения
- •Ход работы
- •Контрольные вопросы
- •Література
- •Лабораторная работа 9
- •Теоретические сведения
- •Ход работы
- •Контрольные вопросы
- •Література
- •Лабораторная работа 10
- •Теоретические сведения
- •Ход работы
- •Контрольные вопросы
- •Література
- •Лабораторная работа 11
- •Теоретические сведения
- •Ход работы
- •Контрольные вопросы
- •Література
- •Лабораторная работа 12
- •Теоретические сведения
- •Ход работы
- •Контрольные вопросы
- •Література
- •Лабораторная работа 13
- •Теоретические сведения
- •Ход работы
- •Контрольные вопросы
- •Література
- •Лабораторная работа 14
- •Теоретические сведения
- •Ход работы
- •Контрольные вопросы
- •Література
- •Лабораторная работа 15
- •Теоретические сведения
- •Ход работы
- •Контрольные вопросы
- •Література
- •Лабораторная работа 16
- •Теоретические сведения
- •Ход работы
- •Контрольные вопросы
- •Література
Література
Джесс Либерти. Освой самостоятельно С++. 3 и-е. М.: Вильямс. – 2000.
Г. Шилдт. Полный справочник по С++. 4 и-е. – М.: Вильямс. – 2003.
Т.А. Павловская. С/С++. Программирование на языке высокого уровня. ПИТЕР-2002
С.В. Глушаков. Практикум по С++. ФОЛИО – 2006
Х. Дейтел, П. Дейтел. Как программировать на С++.
Ю.Л. Кетков. Введение в языки программирования C и C++ http://www.intuit.ru/department/pl/ccpp/
А.Л. Фридман. Язык программирования C++ http://www.intuit.ru/department/pl/cpp/
Лабораторная работа 8
Тема: Указатели
Цель:
Теоретические сведения
См. лекция №8
Ход работы
Что делают следующие объявления? a)int*pOne;b)intvTwo;c)int*pTree=&vTwo;
Если у вас имеется переменная типа unsigned short int с именем yourAge, как объявить указатель, чтобы иметь к ней доступ.
Присвойте значение 50 переменной yourAge из п.2.
Напишите небольшую программу, в которой объявляются целое и указатель на целое. Присвойте адрес целого указателю. С помощью указателя установите значение целой переменной.
Что неверно в следующем фрагменте кода? int *pInt; *pInt=9; cout << “The value at pInt: “ << *pInt;
Что неверно в следующем фрагменте кода? int SomeVariable =5; int *pVar=&SomeVariable; pVar=9; cout << “SomeVariable: “ << *pVar;
Напишите программу , в которой создаются два объекта типа Employee в свободной памяти; установите их возраст, число проработанных лет и зарплату; распечатайте их значение. (см. Тема 6).
Создайте объект целого типа в стеке. Затем указатель на него. Измените и распечатайте значение этого объекта с помощью указателя .
Создайте объект любого ранее разработанного класса (Cat, Worker,Pencil…) в стеке. Затем указатель на него. Измените и распечатайте значение этого объекта с помощью указателя.
Создайте объект любого ранее разработанного класса (Cat, Worker,Pencil…) в свободной памяти. Измените и распечатайте значение этого объекта с помощью указателя.
Напишите программу, создающую висящий указатель на объект любого ранее разработанного класса (Cat, Worker,Pencil…). Объясните как ее исправить.
Напишите программу, создающую утечку памяти. Увеличьте скорость утечки памяти с помощью создания объектов любого ранее разработанного класса (Cat, Worker,Pencil…). Объясните как ее исправить.
Преобразуйте ранее разработанный класс (Cat, Worker,Pencil…) в класс с динамическим выделением памяти.
Контрольные вопросы
Что такое указатель?
Как объявить указатель в программе?
Как определить адрес переменной?
Как адрес переменной занести в указатель?
Что такое null-указатель?
Как сформировать null-указатель?
Почему указатели нужно инициализировать?
Как называют неинициализированные указатели?
Что такое операция косвенной адресации (разыменования)?
В чем различие между переменной, значением, адресом и указателем?
Для чего используются указатели?
Как создать переменную в свободной памяти и присвоить ей значение?
Как проверить, создалась ли переменная в свободной памяти?
Какие действия необходимо выполнить при уничтожении динамической переменной?
Зачем нужно объявлять что-либо в свободной памяти?
Можно ли создавать объекты в свободной памяти?
Как выполняется доступ к данным-членам таких объектов?
Что такое утечка памяти? Как она происходит?
Можно ли создавать объекты в свободной памяти?
Как выполняется доступ к данным-членам таких объектов?
Могут ли данные-члены быть указателями?
Как пишется конструктор и деструктор подобных классов?
Что такое указатель this.
Как в программе появляются висящие указатели?
Для чего и как вместе с указателями используется слово const.
Для чего объект может объявляться константным?