Информатика и программирование Операторы языка С++ Полежаев Петр




























Лекция 4 - Операторы языка С++.ppt
- Количество слайдов: 28
Информатика и программирование Операторы языка С++ Полежаев Петр Николаевич vk: vkontakte. ru/polezhaevw icq: 319280157 agent: polezhaevw@mail. ru e-mail: peter. polezhaev@gmail. com
Оператор – законченное описание некоторого действия. В конце каждого оператора ставится ; Назовите примеры операторов, которые Вы знаете?
Виды операторов языка С++ • Операторы-выражения • Блоки (составные операторы) • Условный оператор • Оператор выбора • Операторы цикла • Операторы передачи управления
Блок (составной оператор) • Блок (составной оператор) - { группа операторов, заключенных в оператор1; {}, представляющих собой единое оператор2; целое. … • Блок может располагаться в любом оператор. N; месте программы, где допустимо } размещение оператора. • В конце блока наличие ; не оператор1 обязательно. оператор2 • Переменные, описанные внутри … оператор. N блока, существуют до выхода из него.
Условный оператор Формат записи: + условное выраж. - if (условное выражение) оператор1; оператор1 оператор2 else оператор2; Если условное выражение истинно, то выполняется оператор 1, иначе – оператор2. После чего управление передается следующему за if оператору в программе.
Условный оператор (продолжение) Краткая форма записи (без else): + условное выраж. - if (условное выражение) оператор1; Если необходимо, чтобы на месте операторов оператор1 или оператор2 размешалось несколько операторов, то в этом случае используется блок (составной оператор).
Условный оператор (Пример) Вычислить максимум и минимум двух целых чисел: #include
Вложенные операторы if if (выражение 1) • Вложенные операторы if (выражение 2) if располагаются внутри if (выражение 3) оператор; других операторов if. else • Раздел else всегда оператор; связан с ближайшим if. else • Вложенные операторы оператор; else лучше всегда писать с оператор; отступом для улучшения читабельности структуры программы.
Частые ошибки записи условного оператора • Использование операции присваивания = вместо операции проверки равенства == if (a = b) cout << “Numbers are equal. ” << endl; • Отсутствие фигурных скобок составного оператора if (a < b) min = a; max = b;
Оператор выбора Формат записи: Оператор выбора выполняется так: 1. Вычисляется значение выражения. switch (выражение) 2. Последовательно сравнивается { значение выражения с константами. case конст1: список_операторов 1 3. При совпадении значения с одной из констант осуществляет переход case конст2: на первый оператор из список_операторов 2 соответствующего списка … операторов. default: 4. Если в списке операторов операторы встретился break, то } осуществляется переход на следующий оператор за конструкций switch, иначе – Необязательная секция default выполняются операторы из выполняется, если значение нижележащих списков операторов. выражения не совпало ни с одной из констант.
Оператор выбора (Пример) Определить время года по номеру месяца. …… switch (month) { case 1: case 2: case 12: cout << “winter” << endl; month break; case 3: case 4: case 5: cout << “spring” << endl; break; 1, 2, 12 3, 4, 5 6, 7, 8 по умолч. case 6: case 7: case 8: cout << “summer” << endl; break; Вывод default: “winter” “spring” “summer” “autumn” cout << “autumn” << endl; }
Операторы цикла языка С++ • Цикл с предусловием • Цикл с постусловием • Цикл с параметром
Понятие цикла Цикл - конструкция для организации многократно повторяющихся вычислений. Любой цикл состоит из: • Тела цикла (операторов, выполняемых несколько раз) • Начальных установок • Модификации параметров цикла • Проверки условия продолжения выполнения цикла Один проход цикла – итерация.
Виды циклов Начальные Парам=НЗ, КЗ, Шаг установки - Выражение Операторы + Операторы Модификация параметров цикла Парам – параметр цикла; Модификация НЗ – начальное значение; параметров цикла + Выражение КЗ – конечное значение; Шаг – шаг приращения - параметра Цикл с предусловием Цикл с постусловием Цикл с параметром
Цикл с предусловием Формат записи: Принцип работы: 1. Вычисляется значение while (выражение) выражения. оператор; 2. Если значение истинно, то выполняется оператор. 3. Снова вычисляется выражение. Пример. Вычисление суммы 4. Если значение выражения первых n натуральных чисел: истинно, то снова выполняется оператор, int sum = 0, i = 1; если же ложно, то while (i <= n) переходит к следующему за sum += i++; while оператору.
Цикл с предусловием (Пример) Нахождение всех делителей числа n. ……. int divisor = 1; while (divisor * divisor <= n) { if (!(n % divisor)) cout << divisor << “ “ << n / divisor << endl; divisor++; }
Цикл с постусловием Формат записи: Принцип работы: 1. Выполняется оператор. do 2. Вычисляется выражение. оператор; 3. Если оно истинно, то снова while (выражение); выполняется оператор, если же ложно, то переход на следующий оператор за конструкцией do-while. Пример. Вычисление суммы первых n натуральных чисел: int sum = 0, i = 1; do sum += i++; while (i <= n);
Цикл с постусловием (Пример) Разложение числа n на простые множители. int divisor = 2; do if (!(n % divisor)) { n /= divisor; cout << divisor << “ “; } else divisor++; while (n > 1);
Цикл с параметром Формат записи: for (инициализация; выражение; модификация) оператор; Принцип работы: 1. Выполняется секция инициализации (один раз вначале). 2. Вычисляется выражение. 3. Если значение выражения истинно, то выполняется оператор, а затем модификация. 4. Снова вычисляется выражение, если оно истинно, то снова выполняется оператор, а затем модификация. 5. Если же ложно, то выполняется оператор, следующий за конструкцией for. Бесконечный цикл for ( ; ; ) {…}
Цикл с параметром (Пример 1) Вычисление суммы первых n натуральных чисел: int sum = 0; for (int i = 1; i <= n; i++) sum += i;
Цикл с параметром (Пример 2) Вычисление среднего арифметического m вещественных чисел, вводимых с консоли: int m; double sum = 0. 0, d; cin >> m; for (int i = 0; i < m; i++) { cin >> d; sum += d; } cout << sum / m << endl;
Частые ошибки при записи циклических конструкций • Отсутствие изменения параметра цикла while (i < n) { a += i; } • Неправильное изменение параметра цикла for (int i = 100; i >=0; i++) { … } • Неправильная запись условий выхода из цикла int sum = 0, i = 1; do { sum += i; i++; } while (i > 0); • Использование = вместо ==
Операторы передачи управления • Оператор безусловного перехода goto • Оператор выхода из цикла break • Оператор перехода к следующей итерации цикла continue • Оператор возврата из функции return
Оператор goto Осуществляет безусловный переход на оператор помеченный меткой. Формат записи: goto метка; В той же функции должна присутствовать ровно одна конструкция: метка: оператор; Пример: Структурное int a = 10; программирование не goto metka; рекомендует использование оператора int l = a + 2; goto! if (a > 2) a--; metka: int m = a * a;
Оператор break Используется внутри оператора цикла или switch и осуществляет переход в точку программы, находящуюся непосредственно за оператором, внутри которого находится break. Пример for (int i = 0; i < 100; i++) { if (i == 50) break; }
Оператор continue Осуществляет переход к началу следующей итерации цикла, пропуская все оставшиеся операторы до конца текущей итерации цикла. Пример for (int i = 1; i <= 20; i++) { if (i % 2 == 0) continue; cout << i << endl; }
Оператор return Осуществляет возврат из функции и передает управление в точку ее вызова. Формат записи: return выражение; Если функция возвращает тип void, то выражение должно отсутствовать.
Вопросы? • Q&A

