
- •Часть 2
- •Раздел 3. Основы программирования
- •1.Цель работы
- •2.Контрольные вопросы
- •3.Методические указания
- •3.2.Структура программы
- •3.3.Имена и зарезервированные слова
- •3.4.Специальные символы
- •3.5.Константы и переменные
- •3.6.Оператор присваивания
- •Листинг 3.4. Пример множественного присваивания
- •3.7.Комментарии
- •4.Задание
- •Лабораторная работа №2 Арифметические операции и функции
- •1.Цель работы
- •2.Контрольные вопросы
- •3.Методические указания
- •3.1.Типы целых чисел
- •3.2.Типы вещественных чисел
- •3.3.Арифметические выражения
- •3.4.Функции
- •3.5.Преобразование типов
- •4.Задание
- •Лабораторная работа №3 Ввод и вывод данных
- •1.Цель работы
- •2.Контрольные вопросы
- •3.Методические указания
- •3.1. Ввод и вывод
- •3.2.Дополнительные возможности ввода/вывода
- •3.3.Форматированный ввод/вывод
- •4.Задание
- •Лабораторная работа №4 Логические операции
- •1.Цель работы
- •2.Контрольные вопросы
- •3.Методические указания
- •3.1. Условный оператор
- •3.2.Условная операция
- •3.3.Оператор выбора
- •3.4.Составной оператор
- •3.5.Сложные условия
- •3.6.Тип bool(логический)
- •3.7.Особенности работы условного оператора
- •4.Задание
- •Лабораторная работа №5 Циклические операции
- •1.Цель работы
- •2.Контрольные вопросы
- •3.Методические указания
- •3.1. Оператор цикла while (цикл с предусловием)
- •3.2.Оператор цикла do (цикл с постусловием)
- •3.3.Оператор цикла for (счетный цикл)
- •3.4.Вложенные циклы
- •3.5.Операторы прерывания цикла
- •4.Задание
- •Лабораторная работа №6 Указатели и массивы
- •1.Цель работы
- •2.Контрольные вопросы
- •3.Методические указания
- •3.1. Указатели
- •3.2.Константные указатели и указатели-константы
- •3.3.Операции над указателями
- •3.4.Массивы
- •3.5.Одномерные массивы
- •3.6.Указатели на массивы
- •3.7.Инициализация массивов
- •3.8.Операция sizeof
- •3.9.Определение новых типов
- •3.10.Многомерные массивы
- •4.Задание
- •Лабораторная работа №7 Функции и процедуры
- •1.Цель работы
- •2.Контрольные вопросы
- •3.Методические указания
- •3.1.Описание функций
- •3.2.Процедуры
- •3.3.Параметр-ссылка
- •3.4.Область видимости переменных
- •4.Задание
- •Лабораторная работа №8 Перегрузка функций
- •1.Цель работы
- •2.Контрольные вопросы
- •3.Методические указания
- •3.1.Полиморфизм
- •3.2.Перегрузка функций
- •3.3.Особенности перегрузки функций
- •3.4.Использование параметров по умолчанию
- •4.Задание
- •Лабораторная работа №9 Перечисления
- •1.Цель работы
- •2.Контрольные вопросы
- •3.Методические указания
- •4.Задание
- •Лабораторная работа №10 Строки символов
- •1.Цель работы
- •2.Контрольные вопросы
- •3.Методические указания
- •3.1.Данные типа char
- •3.2.Строковый тип string
- •4.Задание
3.6.Указатели на массивы
В C++ указатели и массивы тесно связаны (см. предыдущую тему). Как уже было сказано, имя массива является указателем, имеющим значение адреса начала массива, поэтому, например очистку элементов массива, можно организовать так (Листинг 3.40):
Листинг 3.40. Очистка элементов массива через указатель
3.7.Инициализация массивов
При описании массива может быть выполнена инициализация его элементов. Существует два способа инициализации массивов:
Инициализация по умолчанию. Это обычная декларация массива, например такая, как показано выше (Листинг 3.30). В этом случае значение элементов массива не определено.
Явная инициализация элементов. После описания массива помещают список начальных значений элементов массива, заключенных в фигурные скобки.
Пример. Демонстрация явной инициализации массива (Листинг3,41).
Листинг 3.41. Явная инициализация элементов массива
Если список инициализации меньше, чем указанный размер массива, то инициализируются только элементы, указанные в списке, остальные так и остаются неопределенными.
Кроме того, при явной инициализации массива, можно не указывать его размер - он вычистится автоматически, но числу инициализирующих элементов (Листинг 3.34):
Листинг 3.34. Явная инициализация массива из четырех целых чисел
3.8.Операция sizeof
C++ имеет очень полезную операцию - sizeof. Результатом операции является размер в байтах типа или объявленной переменной. Применение операций к массивам возвращает число байт, необходимое для размещения всех элементов массива.
Для массивов это удобно еще и тем, что можно вычислить число элементов, располагаемых в массиве.
Пример. Вычисление числа элементов массива (Листинг 3.42):
Листинг 3.42. Вычисление числа элементов массива
Данная программа (Листинг 3.35) сначала вычисляет размер массива в байтах и делит его на размер одного элемента. Нетрудно догадаться, что результатом работы будет выведено число 16 - число элементов массива т.
3.9.Определение новых типов
Язык C++ имеет механизм для определения новых типов данных, который работает аналогично служебному слову ТYPE языка Pascal. Это определение имеет следующий формат:
Таким образом, можно давать короткие синонимы для часто используемых типов (Листинг 3.43):
Листинг 3.43. Определение новых типов
3.10.Многомерные массивы
C++ поддерживает и многомерные массивы. Размерностью считается число индексов, используемых для ссылки на конкретный элемент массива. Многомерные массивы должны описываться и могут при описании инициализироваться.
Пример. Продемонстрировать описание многомерных массивов (Листинг 3.44).
Листинг 3.44. Пример декларации многомерных массивов
Листинг 3.45. Вывод на экран содержимого двумерного массива
4.Задание
4.1.Создайте программу «Одномерные массивы» (листинг 3.46):
Листинг 3.46. Программа «Одномерные массивы»
Результатом работы этой программы будет ввод в одномерный массив десяти целочисленных элементов массива и их вывод на печать.
4.2.Создайте программу «Операция sizeof» (листинг 3.47):
Листинг 3.47. Программа «Операция sizeof»
Результатом работы этой программы будет вычисление числа элементов, располагаемых в массиве.
4.3.Создайте программу «Многомерные массивы» (листинг 3.48):
Листинг 3.48. Программа «Многомерные массивы»
В этой программе проводится явная инициализация и выводится на печать двумерный массив, состоящий из 15 элементов.
4.4.В отчете к данной лабораторной работе опишите назначение каждого оператора для программ, которые приведены в задании, а также структурную схему (блок-схему) программы «Многомерные массивы».