C
compan
Гость
Гость
Добрый день!
В этой теме мы разберем циклы (while, do while, for), переключатель switch, break, continue.
Пример:
new var = 5;
new i = 0;
while(++i <= var)
{
printf(i);
}
Результат: выдаст цифры 1, 2, 3, 4, 5
Пример:
new var = 5;
new i = 0;
do
{
printf("%i",i);
}
while(++i <= var);
Результат: выдаст цифры 0, 1, 2, 3, 4, 5
Цикл с постусловием бывает полезен при обработке некоторых последовательностей, когда обработку нужно заканчивать не до, а после появления концевого признака.
for(expression1;expression2;expression3)
{
}
Здесь expression1 (инициализация цикла) – последовательность определений и выражений, разделяемая запятыми. Все выражения, входящие в инициализацию, вычисляются только один раз при входе в цикл. Как правило, здесь устанавливаются начальные значения счетчиков и параметров цикла. Смысл выражения-условия (expression2) такой же как и у циклов с пред- и постусловиями. При отсутствии выражения-условия предполагается, что его значение всегда истинно. Выражения expression3 вычисляются в конце каждой итерации после выполнения тела цикла.
Пример:
new var = 5;
for(new i = 0; i <= var; i++)
{
printf("%i",i);
}
Результат: выдаст цифры 0, 1, 2, 3, 4, 5
new var = 10;
new i = 0;
while(++i <= var)
{
printf("%i",i);
if(i == 6) break;
}
Результат: выдаст цифры 1, 2, 3, 4, 5, 6
Пример:
new var = 10;
new i = 0;
while(++i <= var)
{
if(i == 6) continue;
printf("%i",i);
}
Результат: выдаст цифры 1, 2, 3, 4, 5, 7, 8, 9, 10
Заметим, что если вы поставите условный оператор после функции printf, код будет ошибочным, и выведутся все цифры от 1 до 10, поскольку проверка условия выхода из цикла на данной итерации, будет происходить уже после выполнения этой итерации.
Автор: compan
В этой теме мы разберем циклы (while, do while, for), переключатель switch, break, continue.
while
Оператор while называется оператором цикла с предусловием. При входе в цикл вычисляется выражение условие, и, если его значение отличается от нуля, выполняется тело цикла. Затем вычисления выражения условия и операторов тела цикла выполняется до тех пор, пока значение выражения условия не станет равным нулю. Оператором while удобно пользоваться для просмотра всевозможных последовательностей, если в конце них находится заранее известный символ.Пример:
new var = 5;
new i = 0;
while(++i <= var)
{
printf(i);
}
Результат: выдаст цифры 1, 2, 3, 4, 5
do...while
Этот оператор называется оператором цикла с постусловием. При входе в цикл в любом случае выполняется тело цикла (т.е. цикл всегда будет выполнен хотя бы один раз), затем вычисляется условие, и если оно не равно 0, вновь выполняется тело цикла. В нижеследующем примере ноль всегда будет добавлен в список, независимо от условия.Пример:
new var = 5;
new i = 0;
do
{
printf("%i",i);
}
while(++i <= var);
Результат: выдаст цифры 0, 1, 2, 3, 4, 5
Цикл с постусловием бывает полезен при обработке некоторых последовательностей, когда обработку нужно заканчивать не до, а после появления концевого признака.
for
Итерационный цикл имеет следующий формат:for(expression1;expression2;expression3)
{
}
Здесь expression1 (инициализация цикла) – последовательность определений и выражений, разделяемая запятыми. Все выражения, входящие в инициализацию, вычисляются только один раз при входе в цикл. Как правило, здесь устанавливаются начальные значения счетчиков и параметров цикла. Смысл выражения-условия (expression2) такой же как и у циклов с пред- и постусловиями. При отсутствии выражения-условия предполагается, что его значение всегда истинно. Выражения expression3 вычисляются в конце каждой итерации после выполнения тела цикла.
Пример:
new var = 5;
for(new i = 0; i <= var; i++)
{
printf("%i",i);
}
Результат: выдаст цифры 0, 1, 2, 3, 4, 5
break;
Для выхода из цикла применяется оператор break. При обнаружении этого оператора текущая итерация цикла прекращается, и последующие итерации не происходят. При выполнении следующего примера, несмотря на то, что переменная var = 10, в консоль выведет цифры от 1 до 6.new var = 10;
new i = 0;
while(++i <= var)
{
printf("%i",i);
if(i == 6) break;
}
Результат: выдаст цифры 1, 2, 3, 4, 5, 6
continue;
Иногда бывает нужно прервать только текущую итерацию, и перейти сразу к следующей. Для этого применяется оператор continue.Пример:
new var = 10;
new i = 0;
while(++i <= var)
{
if(i == 6) continue;
printf("%i",i);
}
Результат: выдаст цифры 1, 2, 3, 4, 5, 7, 8, 9, 10
Заметим, что если вы поставите условный оператор после функции printf, код будет ошибочным, и выведутся все цифры от 1 до 10, поскольку проверка условия выхода из цикла на данной итерации, будет происходить уже после выполнения этой итерации.
Автор: compan
Последнее редактирование: