Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Лекции по проге / 4_Управл операторы - циклы (2)

.pdf
Скачиваний:
31
Добавлен:
14.03.2016
Размер:
335.08 Кб
Скачать

Оператор прерывания break

Оператор break прерывает выполнение цикла или ветвления и переходит к следующему за циклом или ветвлением оператору

В случае вложенных управляющих операторов break прерывает самый внутренний из них

21

Задание

Напечатать все элементы массива mass до первого нулевого значения. Изменить следующий код, используя оператор break:

for(i = 0; i < n; i++)

{

printf("%d", mass[i]);

}

_getch();

22

Пример использования оператора прерывания break

//Печатаем все элементы массива вплоть

//до нулевого значения

for(i = 0; i < n; i++)

{

if(mass[i] == 0) break;

printf("%d", mass[i]);

}

_getch();

23

Оператор пропуска итерации continue

Оператор continue завершает текущий шаг цикла и переходит к следующему шагу

Для циклов while и do...while это означает переход к проверке условия продолжения цикла

Для цикла for это означает переход к оператору модификации (с последующей проверкой условия)

24

Задание

Напечатать все элементы массива mass кроме нулевых. Изменить следующий код, используя оператор continue:

for(i = 0; i < n; i++)

{

printf("%d", mass[i]);

}

_getch();

25

Пример использования оператора continue

//Печатаем все элементы массива

//кроме нулевых

for(i = 0; i < n; i++)

{

if(mass[i] == 0) continue;

printf("%d", mass[i]);

}

26 _getch();

"Опасные" операторы break и continue

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

Чтобы избавиться от "опасных" операторов необходимо скорректировать условия в операторах цикла или ветвления

27

Задание

Напечатать все элементы массива mass кроме нулевых. Изменить следующий код, не используя оператор continue:

for(i = 0; i < n; i++)

{

if(mass[i] == 0) continue;

printf("%d", mass[i]);

}

28 _getch();

Замена оператора continue

//Печатаем все элементы массива

//кроме нулевых

for(i = 0; i < n; i++)

{

if(mass[i] != 0) printf("%d", mass[i]);

}

_getch();

29

Задание

Напечатать все элементы массива mass до первого нулевого значения. Изменить следующий код, не используя оператор break:

for(i = 0; i < n; i++)

{

if(mass[i] == 0) break;

printf("%d", mass[i]);

}

30 _getch();