Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курс лекций по Программированию на С++.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
795.65 Кб
Скачать

Операторы передачи управления

В языке С++ есть несколько операторов, изменяющих естественный порядок выполнения вычислений. Рассмотрим их по порядку.

Оператор перехода к следующей итерации цикла continue, строго говоря, делает переход на завершающую фигурную скобку цикла, откуда производится обычный переход в начало тела цикла.

Оператор выхода из цикла break используется внутри операторов цикла или switch для обеспечения перехода в точку программы, находящуюся непосредственно за конструкцией, внутри которой находится break. Оператор break производит выход только из той конструкции цикла в которой он находится.

Оператор безусловного перехода goto передаёт управление на помеченный оператор, например:

goto metka;

metka: оператор;

Использование операторов goto способно легко запутать логику программы и сделать её трудной для понимания и исправления ошибок. Применение goto нарушает принципы структурного и модульного программирования, согласно которым все блоки, из которых состоит программа, должны иметь только один вход и один выход. Если же всё таки вы используете goto, то необходимо помнить, что запрещено передавать управление внутрь операторов if, switch и циклов. Нельзя переходить внутрь блоков, содержащих инициализацию переменных, на операторы, расположенные после неё, поскольку в этом случае инициализация не будет выполнена.

Приоритеты операций в С++

Операции

Приоритет

!, ++, --

высший

*, /, %

+, -

<, >, <=, >=

==, !=

&&, ||

? :

=, +=, -=, *=, /=, %=

низший

Если при составлении относительного выражения с несколькими операциями возникают ошибки, то рекомендуется использовать круглые скобки даже там, где это не является обязательным. Скобки гарантируют правильный порядок вычисления выражения и делают код программы более ясным.

Контрольная работа

Предварительно собери тетрадки с лекциями для проверки.

1 вариант

  1. Используя цикл while, напишите программу, которая подсчитывает факториал введённого пользователем числа.

  2. Написать программу, которая проверяет, является ли введённое пользователем целое число чётным.

  3. Используя цикл for, напишите программу, позволяющую определить все числа на которые делится без остатка введённое пользователем целое число.

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 вариант

  1. Используя цикл for, напишите программу, которая подсчитывает факториал введённого пользователем числа.

  2. Написать программу, которая проверяет, делится ли на три введённое с клавиатуры целое число.

  3. Используя цикл while, напишите программу, позволяющую определить все числа на которые делится без остатка введённое пользователем целое число.

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 стр.)