Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Оператор goto




Оператор continue

Оператор break

Лекция №6. Дополнительние операторы управления циклом

Оператор цикла с параметром

Оператор цикла с параметром for - третий тип операторов цикла, используемый в языке С:

for (выражение1; выражение2; выражение3;)

{операторl; ………; операторN;}

Цикл for позволяет включить в оператор инициализирующее выражение (выражение1), выполняемое один раз перед тем, как будет произведена оценка условия.

Можно также указать выражение, которое будет выполняться после каждой итерации оператора или блока операторов, связанного с циклом for.

Все три выражения в описании оператора for не являются обязательными. Инициализирующее выражение, если оно есть, будет выполняться всегда; вычисление конечного выражения (выражение2) может не производиться, если условие ложно с самого начала.

Выражение3, как правило, определяет закон изменения параметра цикла, но это не обязательно. Следует обратить внимание на то, что цикл for в С++ не является классическим циклом с параметром: здесь параметр цикла может быть неперечислимым (т. e. в данном случае нецелым) значением.

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

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

Например: for(;;){..........if(выражение)break;}

Не имея управляющих выражений, оператор for выполняется "вечно", но став истинным, выражение в операторе if заставит выполниться оператор break, который обрывает "бесконечное" выполнение цикла и переводит счетчик команд на оператор, следующий за последним из операторов, принадлежащих телу цикла.

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

Пример. Найти сумму положительных элементов из десяти чисел.

int s=0,i,a;

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

{ scanf("%d", &a);

if(a<=0) continue;

/*Переход к следующему числу последовательности */

s+=a;}

prinf("\nСумма положит. элементов массива a: s=%6d",s);

Это не единственный способ написания программы, но он удачно демонстрирует использование оператора continue.

Оператор goto не относится ни к условным операторам, ни к операторам цикла, однако и он позволяет изменить порядок следования операторов в программе и передать управление оператору, помеченному меткой. Кажущиеся преимущества, которые дает оператор goto, на самом деле весьма сомнительны, так как очень быстро приводят к созданию программ "спагетти", очень трудно поддающихся отладке и корректировке. Среди программистов достаточно высокого профессионального уровня многократное использование оператора goto считается признаком не слишком хорошего стиля программирования.

На практике также целесообразно избегать частого использования операторов break и continue.




Поделиться с друзьями:


Дата добавления: 2014-11-16; Просмотров: 425; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.01 сек.