Студопедия

КАТЕГОРИИ:


Архитектура-(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)

Операторы перехода




Do

Do

While (условие)

Операторы циклов

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

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

В языке Си известно три вида оператора цикла: while, do-while и for.

 

1. Цикл с предусловием:

{тело цикла;}

Тело цикла выполняется, пока условие истинно. Когда оно становится ложным, цикл завершается и выполняется следующий оператор программы.

 

Пример:

while (a!=0)

{

cin>>a;

s+=a;

}

2. Цикл с постусловием:

{тело цикла;}

while (условие);

Тело цикла выполняется, пока условие истинно.

 

Пример:

{

cin>>a;

s+=a;

}

while(a!=0);

 

3. Цикл с параметром.

В общем виде имеет следующий вид:

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

{тело цикла;}

Его основная форма:

for (инициализация; условие; изменение)

{тело цикла;}

В простейшей форме инициализация используется для присвоения начального значения параметру цикла. Условие определяет, когда цикл должен быть завершен. Как только оно становится ложным, начинает выполняться следующий за циклом for оператор. Изменение параметра обычно используется каждый раз при повторении цикла. Любое выражение может отсутствовать, но разделяющие их «;» должны быть обязательно.

 

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

1) Уменьшение шага на 1:

for (n = 10; n>0; n--)

{тело цикла;}

2) Изменение шага на величину, отличную от 1:

for (n = 2; n>60; n+=13)

{тело цикла;}

3) Проверка сложного условия:

for (num = 1; num*num*num<216; num++)

{тело цикла;}

4) Изменение шага может осуществляться не только с помощью сложения или вычитания:

for (d = 100.0; d<150.0; d*=1.1)

{тело цикла;}

for (x=1; y<=75; y=5*(x++)+10)

{тело цикла;}

5) Можно использовать несколько инициализирующих или корректирующих выражений:

for (x=1, y=0; x<10; x++, y+=x)

{тело цикла;}

Операторы перехода выполняют безусловную передачу управления.

1) break – оператор прерывания блока, обычно используется для принудительного выхода из цикла.

{

< операторы>

if (<выражение_условие>) break;

<операторы>

}

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

Пример:

// ищет сумму чисел, вводимых с клавиатуры, до тех пор, пока не

// будет введено 100 чисел или 0

for(s=0, i=1; i<100;i++)

{

cin>>x;

if(x==0) break; // если ввели 0, то суммирование заканчивается

s+=x;

}

 

2) continue – переход к следующей итерации цикла. Он используется, когда тело цикла содержит ветвления.

Пример:

// ищет количество и сумму положительных чисел

for(k=0, s=0, x=1; x!=0;)

{

cin>>x;

if (x<=0) continue;

k++; s+=x;

}

3) Оператор goto

Оператор goto имеет формат

goto метка;

В теле той же функции должна присутствовать конструкция

метка: оператор;

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

Применение goto нарушает принципы структурного и модульного программирования, по которым все блоки, из которых состоит программа, должны иметь только один вход и только один выход.

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

 

Пример:

int k;

goto m;




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


Дата добавления: 2015-06-04; Просмотров: 532; Нарушение авторских прав?; Мы поможем в написании вашей работы!


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



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




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