
- •220300 - Системы автоматизированного проектирования
- •Состав языка и принцип работы компилятора языка высокого уровня
- •Идентификаторы
- •Альтернативный ввод-вывод в стиле с
- •Константы
- •Манипуляторы
- •Преобразования типов
- •Арифметические операции
- •Функции стандартной библиотеки
- •Операции отношения и логические операции
- •Базовые конструкции структурного программирования
- •Цикл с параметром (for)
- •Цикл с предусловием (while)
- •Цикл с постусловием (do while)
- •Рекомендации по программированию циклов
- •Ветвления
- •Условный оператор if
- •Вложенные конструкции
- •Проблемы соответствия if и else во вложенных ветвлениях
- •Условная операция
- •Оператор switch
- •Операторы передачи управления
- •Контрольная работа
- •Массивы
- •Сортировка массива методом выбора
- •Сортировка массива методом пузырька
- •Многомерные массивы
- •Операции со строками
- •Функции
- •Void starline(); // объявление функции (прототип)
- •Передача аргументов в функцию по значению
- •Void charline(char sim, int n); // объявление функции (прототип)
- •Возвращение функцией значения
- •Передача аргументов по ссылке
- •Возвращение значения по ссылке
- •Перегруженные функции
- •Переменные и функции
- •Передача массивов в функции
- •Указатели
- •Указатели и массивы
- •Указатели и функции
- •Указатели и строки
- •Динамический массив и динамическое выделение памяти
- •Ввод/вывод
- •Форматированный ввод/вывод
- •Конструкторы и методы
- •Двоичный ввод/вывод. Бинарные файлы
- •Двунаправленный ввод/вывод
- •Функции стандартной библиотеки для работы с файлами или ввод/вывод в стиле с
Операторы передачи управления
В языке С++ есть несколько операторов, изменяющих естественный порядок выполнения вычислений. Рассмотрим их по порядку.
Оператор перехода к следующей итерации цикла continue, строго говоря, делает переход на завершающую фигурную скобку цикла, откуда производится обычный переход в начало тела цикла.
Оператор выхода из цикла break используется внутри операторов цикла или switch для обеспечения перехода в точку программы, находящуюся непосредственно за конструкцией, внутри которой находится break. Оператор break производит выход только из той конструкции цикла в которой он находится.
Оператор безусловного перехода goto передаёт управление на помеченный оператор, например:
goto metka;
…
metka: оператор;
Использование операторов goto способно легко запутать логику программы и сделать её трудной для понимания и исправления ошибок. Применение goto нарушает принципы структурного и модульного программирования, согласно которым все блоки, из которых состоит программа, должны иметь только один вход и один выход. Если же всё таки вы используете goto, то необходимо помнить, что запрещено передавать управление внутрь операторов if, switch и циклов. Нельзя переходить внутрь блоков, содержащих инициализацию переменных, на операторы, расположенные после неё, поскольку в этом случае инициализация не будет выполнена.
Приоритеты операций в С++
-
Операции
Приоритет
!, ++, --
высший
*, /, %
+, -
<, >, <=, >=
==, !=
&&, ||
? :
=, +=, -=, *=, /=, %=
низший
Если при составлении относительного выражения с несколькими операциями возникают ошибки, то рекомендуется использовать круглые скобки даже там, где это не является обязательным. Скобки гарантируют правильный порядок вычисления выражения и делают код программы более ясным.
Контрольная работа
Предварительно собери тетрадки с лекциями для проверки.
1 вариант
int main() { // ответ int n, j; cout << "Vvedite pol. celoe chislo: "; cin >> n; cout << "Chislo delitsya bez ostatka na: "; for (j=1; j <= n; j++) { if ((n%j) == 0) cout << j << " "; } getch(); return 0; } |
2 вариант
int main() { // ответ int n, j = 1;; cout << "Vvedite pol. celoe chislo: "; cin >> n; cout << "Chislo delitsya bez ostatka na: "; while (j <= n) { if ((n%j) == 0) cout << j << " "; j++; } getch(); return 0; } |
Лекция 5 (10 стр.)