Студопедия

КАТЕГОРИИ:


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

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




В этом примере, реализующем запись строки символов в обратном порядке, для управления циклом используются две переменные top и bot. Отметим, что на месте выражение1 и выражение3 здесь используются несколько выражений, записанных через запятую, и выполняемых последовательно.

В этом примере вычисляется сумма квадратов чисел от 1 до 10.

Существенно то, что проверка условия всегда выполняется в начале цикла. Это значит, что тело цикла может ни разу не выполниться, если условие выполнения сразу будет ложным.

Do

While (true)

{

...

}

Инструкция do…while
(цикл с постусловием)

Формат:
do
инструкция;
while (выражение);

используется в тех случаях, когда необходимо выполнить тело цикла хотя бы один раз.
Схема выполнения цикла do while:
1. Выполняется тело цикла (которое может быть блоком {…}).
2. Вычисляется выражение.
3. Если выражение ложно, то выполнение цикла do while заканчивается и выполняется следующая за ним инструкция. Если выражение истинно, то выполнение продолжается с пункта 1.
Пример бесконечного цикла

{

...

}

while (true);

Циклы while и do while могут быть вложенными.

Инструкция for
Оператор for - это наиболее общий способ организации цикла.
Формат:
for (выражение1;выражение2;выражение3)
инструкция;

int x;
for (x=0;x<100;x++)
std::cout << x << std::endl;

Схема выполнения цикла for:
1. Вычисляется выражение1.
2. Вычисляется выражение2.
3. Если значения выражения2 отлично от нуля (истина), выполняется тело цикла, вычисляется выражение3 и осуществляется переход к пункту 2, если выражение2 равно нулю (ложь), то управление передается на инструкцию, следующую за циклом for.
Таким образом,
выражение1 вычисляется один раз перед началом цикла;
выражение3 вычисляется после каждой операции цикла;
условие (выражение2) проверяется каждый раз перед выполнением инструкции.

Пример:

int main()

{

int i,s=0;

for (i=1; i<11; i++)

s=s+i*i;

std::cout<<"summa=”<<s<<

std::endl;

return 0;

}


Сумма первых десяти натуральных чисел
Для вычисления можно написать три различных цикла for.
1)
int count,s=0;
for (count=1; count < =10; count++)
s=s+count;
2)

int count=10, s=0;
for (; count>0; count--)
s=s+count;

3)
int count=10,int s=0;
for (; count; count--)
s=s+count;
цикл закончит выполнение при count=0, т.к. условие цикла будет ложным.

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

Пример:

int main()

{

int top, bot;

char string[100], temp;

for (top=0, bot=99; top < bot; top++, bot--)

{ temp=string[top];

string[top]= string[bot];

string[bot]=temp;

}

return 0;

}

Бесконечный цикл for

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

for (;;)

{...

...

break;

...

}

for (i=0; t[i]<10; i++);




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


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


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



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




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