Цикл FOR

Инициализация_цикла в цикле for всегда завершается точкой с запятой, т.е. определяется этим разделителем от последующего выражения – условия, которое также завершается точкой с запятой. Даже при отсутствии инициализации_цикла и выражения – условия в цикле for символы “точка с запятой” всегда присутствует. Список _выражений (в цикле for) – последовательность скалярных выражений, разделенных запятыми.

Прекращение выполнения цикла возможно в следующих случаях:

· Нулевое значение проверяемого выражения_условия;

· Выполнение в теле цикла оператора передачи управления(break, goto, return) за пределы цикла.

Основная форма цикла for имеет следующий вид: for (инициализация; проверка условия; изменение) оператор;

На самом деле в общем виде: for (выражение1; выражение2; выражение3) оператор.

В простейшей форме инициализация используется для присвоения начального значения параметру цикла. Проверка условия – обычно условное выражение, которое определяет, когда цикл должен быть завершен.Приращение обычно используется для изменения параметра цикла каждый раз при повторении цикла. Эти три раздела заголовка цикла должны быть разделены точкой с запятой. Выполнение цикла происходит до тех пор, пока условное выражение истинно. Как только условие становится ложным, начинает выполнятся следующий за циклом for оператор.

Простейший пример оператора цикла for:

for (i = 0; i < 10; i++) cout<<i<<”\n”;

В результате выполнения этого оператора будут напечатаны в столбик цифры от 0 до 9.Для печати этих цифр в обратном порядке можно использовать следующий оператор:

for (i = 9; i >= 0; i --) cout<<i<<”\n”;

Цикл for похож на аналогичные циклы в других языках программирования, и в тоже время этот оператор в языке С гораздо более гибкий, мощный и применим во многих ситуациях.

В качестве параметра цикла необязательно использовать целочисленный счетчик. Приведем фрагмент программы, выводящей на экран буквы русского алфавита:

Unsigned char ch;

for (ch =’A’; ch <= ‘Я’; ch++) cout<<ch;

Следующий фрагмент программы:

for (ch =’0’; ch! =’N’;) cout<<ch;

будет выполняться до тех пор, пока с клавиатуры не будет введён символ ‘N’. Заметим, что место, где должно быть приращение, пусто. Случайно или намеренно может получиться, так называемый бесконечный цикл.

Приведем три примера таких циклов:

for (;;) cout<<“Бесконечный цикл \n”;

for (i=1; 1; i++) cout<<“Бесконечный цикл \n”;

for (i=10; i>6; i++) cout<<“Бесконечный цикл \n”;

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

#include <iostream.h>

/*Пример1*/

main ()

{

unsigned char ch;

for (;;) {

ch=getchar (); /*Прочитать символ*/

if (ch= =’Q’) break; /*Проверка символа*/

cout<<ch; /*Печать символа*/

}

}

В этой программе будут печататься введенные символы до тех пор, пока не будет введён символ ‘Q’. Возможно, и это синтаксически правильно, наличие пустого оператора (отсутствие оператора) в цикле for. Например:

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


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: