Форма
while(выражение)
оператор
Часть оператор повторяется до тех пор, пока выражение не станет ложным или равным нулю.
Примеры
while (n++ < 100)
printf(" %d %d\n",n, 2*n + l);
while (fargo < 1000)
{
fargo = fargo + step; step = 2 * step;
}
Сводка: оператор for
Ключевое слово
Ключевым словом оператора for является for.
Общий комментарий
В операторе for для управления циклическим процессом используются три управляющих выражения, разделенные точками с запятой. Выражение инициализация выполняется один раз перед любыми другими операторами цикла. Если выражение проверка является истинным (или ненулевым), выполняется одна итерация цикла. Затем оценивается выражение обновление, после чего вновь оценивается выражение проверка. Оператор whi 1е представляет собой цикл с проверкой условия на входе, решение о выполнении очередной итерации принимается перед выполнением тела цикла. Таким образом, вполне возможно, что цикл не выполнится ни разу. Часть оператор может быть как простым оператором, так и составным.
Форма
for (инициализация; проверка; обновление) оператор
Цикл повторяется до тех пор, пока выражение проверка не окажется ложным или равным нулю.
Справочные материалы 845
Стандарт С99 позволяет включать объявление в часть инициализация. Область видимости и продолжительность хранения переменной ограничены циклом for.
Примеры
for (n = 0; n < 10; ++n)
printf("%d %d\n", n, 2 * n+1);
for (int k = 0; k < 10; ++k) // C99
printf ("%d %d\n", k, 2 * k+1);
Сводка: оператор do while
Ключевые слова
Ключевыми словами оператора do while являются do и while.
Общий комментарий
Оператор do while создает цикл, повторяющийся до тех пор, пока проверочное выражение не станет ложным или равным нулю. Оператор do while является циклом с проверкой условия на выходе, решение о выполнении очередной итерации принимается после выполнения тела цикла. Таким образом, цикл должен выполниться как минимум один раз. Часть оператор этой формы цикла может быть как одиночным оператором, так и составным.
Форма
do
оператор
while (выражение);
Часть оператор повторяется до тех пор, пока выражение не станет ложным или равным нулю.
Пример
do
scanf("%d", snumber) while (number != 20);
Сводка: использование операторов if для реализации выбора
Ключевые слова
Ключевыми словами оператора if являются if и else.
Общий комментарий
В каждой из показанных ниже форм оператор может быть как одиночным оператором, так и составным. “Истинное” выражение в общем случае означает такое, которое дает в результате ненулевое значение.
Форма 1
if(выражение) оператор
Если выражение истинно, то выполняется оператор.
846 Приложение Б
Форма 2
if(выражение) оператор1 else
оператор2
Если выражение истинно, то выполняется оператор1. В противном случае выполняется оператор2.
Форма 3
if(выражение1) оператор1
else if(выражение2)
оператор2
else
операторЗ
Если выражение! истинно, то выполняется оператор1. Если же выражение! ложно, но выражение2 истинно, то выполняется оператор2. Иначе, если оба выражения ложны, выполняется операторЗ.
Пример
if (legs = 4)
printf("Это может быть лошадь. \n"); else if (legs > 4)
printf("Это не лошадь . \n");
else /* случай, когда legs < 4 */
{
legs++;
printf("Теперь на одну ногу стало больше.\n");
}
Сводка: множественный выбор с помощью switch
Ключевые слова
Ключевым словом оператора switch является switch.
Общий комментарий
Управление передается оператору, снабженному меткой выражение. Поток управления затем проходит остальные операторы внутри блока switch, если только снова не будет перенаправлен. Как выражение, так и метки case должны иметь целочисленные значения (включая тип char), а метки должны быть константами или выражениями, состоящими исключительно из констант. Если ни одна метка не соответствует значению выражения, управление переходит к оператору, помеченному меткой default, если это предусмотрено. Иначе управление переходит к оператору, следующему за оператором switch. После того, как управление передается по определенной метке, выполняются все последующие операторы внутри switch, до конца switch или до оператора break в зависимости от того, что встретится раньше.
Форма
switch (выражение)
{
case метка1 : оператор1 case метка2 : оператор2 default : операторЗ
}
Справочные материалы 847
Операторов, снабженных метками, может быть больше двух, а конструкция default является необязательной.
Примеры
switch (value)
case 1 : find_sum(ar, n);
break;
case 2 : show_array (ar, n);
Читать дальше