- •Министерство образования и науки украины
- •Лабораторная работа № 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 часа)
- •Теоретические сведения
- •Виртуальные базовые классы
- •Виртуальные деструкторы
- •Ход работы
- •Литература
- •Выходные данные
Контрольные вопросы для подготовки и самостоятельной работы
Какие операции называются унарными, бинарными, тернарными?
Сколько групп приоритетов принято в С?
В какой последовательности выполняются операции с одинаковым приоритетом?
Что означает свойство коммутативности?
Какие операции гарантируют порядок вычисления своих операндов?
Для чего применяют первичные операции?
Какой тип операндов допустим для различных операций?
Все ли операнды вычисляются в выражениях, содержащих логические операции?
Для чего применяют преобразование типов?
Назовите правила неявного преобразования типов. В каких случаях возможна потеря информации при преобразовании типов?
В каком порядке будет выполняться конструкция f(x)&&g(y) и как будет интерпретироваться результат вызова функций, результат выражения в целом?
Объясните примеры, приведенные в теоретической части.
Лабораторная работа №7
Разработка программ с функциями. Объявление, определение и вызов функций
(2 часа)
Цель работы: выработать практические навыки в написании программ с выделением функций, их объявлением, определением и использованием.
Теоретические сведения
Каждая функция в С имеет название (имя), класс памяти, тип возвращаемого значения и необязательный список параметров. В функциях можно объявлять локальные константы и переменные. Все функции, за исключением функции main(), необходимо объявлять (создавать прототип, декларировать) до использования (вызова).
Объявления (прототипы) функций
С поддерживает предварительное объявление (декларацию) функций, которое также созданием называется прототипом. Предварительное объявление позволяет перечислить список функций в начале исходной программы. Такой список предлагает удобный способ указания того, какие функции будут использованы в программе. Кроме того, использование прототипов заранее уведомляет компилятор о типах возвращаемых значений и формальных параметров различных функций. После объявления функций можно размещать их определения в любом порядке и не волноваться по поводу ошибок компиляции, которые происходят, когда функция вызывается перед объявлением или определением. Общий синтаксис объявления для функции:
[Класс_памяти] Тип_возвращаемого_значения имя ([ Список_типов_параметров ]);
Классы памяти для функций: extern и static. По умолчанию – extern.
Каждая функция имеет тип_возвращаемого_значения, который указывается перед названием (именем) функции. Список_параметров следует за названием функции и заключается в круглые скобки.
Точка с запятой в конце необходима для объявления функции, но не нужна в определении функции. Имена формальных параметров могут отсутствовать или не опадать с именами в определении функции, но типы должны совпадать обязательно. По умолчанию тип возвращаемого значения int.
Пример объявления функции:
dauble summa(float a, float b); // два параметра типа float, возвращается
// значение типа dauble
С использует специальный тип void, чтобы указать, что функция не требует параметров или не возвращает значение. Использование оператора return в void-функции не требуется.
Примеры объявлений функций:
upDate(); // без параметров, // возвращается int void (void); // без параметров // getPrint |
void releesDate(int fop);// один // параметр void reseedType(float Seed); // один // параметр |