- •Министерство образования и науки украины
- •Лабораторная работа № 1
- •Ход работы
- •Требования к отчетам
- •Отчёт должен содержать
- •Вопросы для контроля и самостоятельной работы
- •Лабораторная работа №2
- •Символы типа
- •Ход работы
- •Вопросы для контроля и самостоятельной работы
- •Лабораторная работа №3 Разработка программ со скалярными типами данных (2 часа)
- •Теоретические сведения
- •Ход работы
- •Контрольные вопросы для подготовки и самостоятельной работы
- •Лабораторная работа №4 Разработка программ с циклическими вычислительными процессами
- •Теоретические сведения
- •Алгоритм работы оператора цикла for ():
- •Ход работы
- •Контрольные вопросы для подготовки и самостоятельной работы
- •Лабораторная работа №5 Разветвляющийся вычислительный процесс с различными логическими условиями: оператор if... Else, условная операция (?:), оператор switch, оператор break, оператор goto (2 часа)
- •Теоретические сведения
- •Условная тернарная операция (?:)
- •Оператор варианта switch
- •Ход работы
- •Контрольные вопросы для подготовки и самостоятельной работы
- •Лабораторная работа №6 Операции с, их приоритеты и использование. Преобразование типов (4 часа)
- •Теоретические сведения
- •Приоритет операций и порядок выполнения (ассоциативность)
- •Преобразование типов
- •(Новый_тип) операнд
- •Ход работы
- •Контрольные вопросы для подготовки и самостоятельной работы
- •Лабораторная работа №7
- •Синтаксис определения функций в с
- •Использование локальных и глобальных переменных в функциях. Вызов функции
- •Ход работы
- •Требования к содержанию отчёта приведены в лабораторной работе №1. Контрольные вопросы для подготовки и самостоятельной работы
- •Лабораторная работа №8 Разработка программ с указателями (2 часа)
- •Теоретические сведения
- •Основные операции с указателями
- •Указатели и целые величины
- •Динамическое размещение указателей в памяти
- •Ход работы
- •Требования к содержанию отчёта приведены в лабораторной работе №1. Контрольные вопросы для подготовки и самостоятельной работы
- •Лабораторная работа №9 Массивы. Селективная обработка массивов
- •Теоретические сведения
- •Ход работы
- •Требования к содержанию отчёта приведены в лабораторной работе №1
- •Контрольные вопросы для подготовки и самостоятельной работы
- •Лабораторная работа №10
- •Ход работы
- •Контрольные вопросы для подготовки и самостоятельной работы
- •Лабораторная работа №11
- •Контрольные вопросы для подготовки и самостоятельной работы
- •Лабораторная работа № 12
- •Ход работы
- •Контрольные вопросы для подготовки и самостоятельной работы
- •Лабораторная работа № 13
- •Ход работы
- •Контрольные вопросы для подготовки и самостоятельной работы
- •Лабораторная работа № 14
- •Ход работы
- •Контрольные вопросы для подготовки и самостоятельной работы
- •Лабораторная работа № 15 Использование указателей для работы с составными типами данных (2часа)
- •Теоретические сведения
- •Ход работы
- •Контрольные вопросы для подготовки и самостоятельной работы
- •Лабораторная работа № 16
- •Указатели как параметры функции
- •Ход работы
- •Контрольные вопросы для подготовки и самостоятельной работы
- •Лабораторная работа №17
- •Ход работы
- •Контрольные вопросы для подготовки и самостоятельной работы
- •Лабораторная работа № 18
- •Использование администратора проектов
- •Lab18.Cpp- Основной файл проекта
- •Ход работы
- •Контрольные вопросы для подготовки и самостоятельной работы
- •Лабораторная работа № 19
- •Доступ к пикселям
- •Графические примитивы
- •Ход работы
- •Контрольные вопросы для подготовки и самостоятельной работы
- •Лабораторная работа №20 Разработка программ с использованием классов (2 часа)
- •Теоретические сведения
- •Объявление и определение класса
- •Тело класса
- •Использование класса
- •Инкапсуляция. Управление доступом к членам класса
- •Классы памяти для объектов
- •Использование данных-членов класса
- •Ход работы
- •Требования к содержанию отчёта приведены в лабораторной работе №1. Контрольные вопросы для подготовки и самостоятельной работы
- •Лабораторная работа №21
- •Инициализация объектов класса
- •Деструкторы
- •Вызов деструкторов
- •Ход работы
- •Контрольные вопросы для подготовки и самостоятельной работы
- •Лабораторная работа №22 Использование наследования для создания иерархии классов (2 часа)
- •Теоретические сведения
- •"Друзья" классов (friend)
- •Ход работы
- •Контрольные вопросы для подготовки и самостоятельной работы
- •Лабораторная работа №23 Использование виртуальных и указателей для работы с объектами классов (2 часа)
- •Теоретические сведения
- •Виртуальные базовые классы
- •Виртуальные деструкторы
- •Ход работы
- •Литература
- •Выходные данные
Требования к содержанию отчёта приведены в лабораторной работе №1. Контрольные вопросы для подготовки и самостоятельной работы
Объясните синтаксис объявления, определения и вызова функции.
Всегда ли: последним оператором функции всегда должен быть оператор return?
Как вы называете переданную локальную переменную – аргумент или параметр?
Какие типы переменных всегда передаются по адресу?
Какие типы переменных можно передать в функцию по значению?
Если переменная передается в функцию по значению и там изменяется, будет ли изменена переменная в вызывающей функции?
Если переменная передается в функцию по адресу и там изменяется, будет ли изменена переменная в вызывающей функции?
Как объявить тип возвращаемого функцией значения?
Какой тип возвращаемого значения используется по умолчанию?
В чём разница между объявлением или определением функции?
Где размещается объявление и определение функций?
Где размещается объявление и определение библиотечных функций?
В чём разница между формальными и фактическими параметрами?
В чём разница между обычными и inline функциями?
Какой тип имеет имя функции?
Какие классы памяти используются при объявлении функции?
Какой класс памяти функций используется по умолчанию?
Как включить файл объявления библиотечных функций в программу?
Лабораторная работа №8 Разработка программ с указателями (2 часа)
Цель работы: изучить конструкции и операторы языка С для работы с указателями.
Теоретические сведения
Самым мощным инструментом в С, безусловно, являются указатели и для того, чтобы овладеть программированием в С, необходимо овладеть умением использовать указатели.
С помощью указателей в С можно: получать доступ к адресам памяти объектов и манипулировать с ними, строить одномерные, двумерные и многомерные массивы, создавать динамические структуры данных, указатели помогают передавать массивы и функции в другие функции и т.д.
Рассмотрим основные понятия и принципы работы с указателями.
Указатель - это адрес памяти, распределённой для другой переменной заданного типа. Значение указателя сообщает о том, где расположен объект данных, но не говорит о его содержимом.
Синтаксис объявления указателей:
тип*имя_указателя.
Читается данная запись так:
имя_указателя является указателем на тип. Символ «*» (звездочка) говорит о том, что данная переменная есть указатель на заданный тип.
Пример:
int * x; // x является указателем на тип int (целое).
Таким образом, можно объявить указатель на любой тип: стандартный или созданный пользователем, в том числе может быть объявлен указатель на указатель, на любой тип-void.
Указатель на тип void совместим с любым другим указателем. Например, допустима запись:
int *x; |
void *y; |
y = x; |
Размер указателя, т.е. размер участка памяти, отведенного под адрес, зависит от модели памяти, в которой пишется программа. Отметим их название и укажем размер указателей в байтах: крошечная (2), маленькая (2), средняя (4), компактная (4), большая (4), огромная (4).
Для указания размера указателя используют модификаторы: по умолчанию near (2 байта), far (4 байта), huge (4 байта).
Указатель может использоваться как константный, который связан с одной постоянной ячейкой памяти:
float const ptr; // константный указатель
Указатель может быть связан и с константами:
const float ptr; // указатель на константный тип
Возможно также следующее выражение:
сonst float сonst ptr; // константный указатель на константный тип.