- •Часть 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.Методические указания
3.1. Условный оператор
В C++ есть традиционный набор средств для работы с логическими операциями. Все они чем-то напоминают языковые средства Pascal, но имеют некоторые особенности.
Условный оператор позволяет выполнять или пропускать операторы программы в зависимости от некоторого условия. Схема условного оператора такова:
if (<условие>) <onepamop_1>;
else <оператор_2>;
Если условие истинно, выполняется оператор_1, иначе - выполняется оператор_2. В качестве условия применяют сравнения: = =, !=, <=, >=, >, <. Слева и справа от знака сравнения записывают арифметические выражения. Например, оператор:
присвоит переменной Z значение частного Y/X, если Х<> 0. В противном случае- высветит на экране слово "Error !".
Условный оператор может быть записан в односторонней форме
оператор выполняется, если условие истинно, иначе - пропускается.
Обратите внимание на отличия от языка Pascal:
условие необходимо брать в круглые скобки;
после оператор_1 требуется точка с запятой;
отличаются знаки сравнения "равно" и "не равно".
3.2.Условная операция
От языка С в язык C++ перешла специфичная условная операция, задаваемая знаками ? и : следующим образом:
Листинг 3.13. Пример использования условной операции
Условная операция во многих случаях позволяет организовывать текст программы более выразительно (Листинг 3.14):
Листинг 3.14. Пример хорошо структурированного участка кода с помощью
условных операций
3.3.Оператор выбора
Как и язык Pascal, C++ предоставляет оператор выбора, позволяющего выбрать один вариант, из многих. Общий формат выражения более сложен, чем в языке Pascal:
Здесь в квадратные скобки заключены необязательные элементы. Оператор switch выполняется следующим образом:
вычисляется значение выражения. Тип значения должен быть одним из целых (char, int, long и т.д.);
вычисленное значение сравнивается со значением констант константа1, ..., конcmanmaN. При совпадении значения выполняется соответствующий оператор. Если стоит оператор break, то сравнение прерывается, иначе - значение выражения продолжает сравниваться со следующими константами;
если значение не совпало ни с одной константой, то выполняется оператор в ветви, помеченной default. При ее отсутствии выполняется следующий после switch оператор.
Пример. Ниже приведена программа, выводящая на экран название функции по ее первой букве (Листинг 3.17):
Листинг 3.17. Пример использования оператора выбора
3.4.Составной оператор
Действие составного оператора в языке C++ аналогично действию составного оператора языка Pascal - он объединяет несколько операторов в один:
Составной оператор полезен, когда надо пропустить или выполнить несколько операторов подряд. Например:
