- •6 Глава 1
- •12 Глава 1
- •14 Глава 1
- •16 Глава 1
- •18 Глава 1
- •20 Глава 1
- •22 Глава 1
- •24 Глава 1
- •26 Глава 1
- •31 Глава 1
- •34 Глава 2
- •36 Глава 2
- •Puc. 2.4. Дополнительные опции консольного приложения Win32
- •38 Глава 2
- •40 Глава 2
- •42 Глава 2
- •44 Глава 2
- •48 Глава 2
- •50 Глава 2
- •52 Глава 2
- •54 Глава 2
- •56 Глава 2
- •58 Глава 2
- •60 Глава 2
- •62 Глава 2
- •64 Глава 2
- •66 Глава 2
- •68 Глава 2
- •70 Глава 2
- •74 Глава 2
- •76 Глава 2
- •79 Глава 2
- •82 Глава 2
- •84 Глава 2
- •86 Глава 2
- •88 Глава 2
- •92 Глава 2
- •94 Глава 2
- •96 Глава 2
- •98 Глава 2
- •103 Глава 2
- •105 Глава 2
- •107 Глава 2
- •110 Глава 2
- •115 Глава 3
- •119 Глава 3
- •121 Глава 3
- •123 Глава 3
- •125 Глава 3
- •129 Глава 3
- •131 Глава 3
- •133 Глава 3
- •139 Глава 3
- •141 Глава 3
- •143 Глава 3
- •145 Глава 3
- •148 Глава 3
- •150 Глава 3
- •155 Глава 3
- •165 Глава 4
- •168 Глава 4
- •170 Глава 4
- •173 Глава 4
- •175 Глава 4
- •178 Глава 4
- •184 Глава 4
- •186 Глава 4
- •188 Глава 4
- •190 Глава 4
- •192 Глава 4
- •194 Глава 4
- •198 Глава 4
- •201 Глава 5
- •203 Глава 5
- •205 Глава 5
- •207 Глава 5
- •213 Глава 5
- •217 Глава 5
- •219 Глава 5
- •221 Глава 5
- •223 Глава 5
- •225 Глава 5
- •227 Глава 5
- •232 Глава 5
- •234 Глава 5
- •236 Глава 5
131 Глава 3
В этом примере осуществляется накопление суммы целых чисел от 1 до 10. При первом выполнении последовательности операторов i, равное 1, добавляется к пере- менной sum, которая поначалу равна 0. В операторе if переменная i увеличивается до 2 и, до тех пор, пока она меньше или равна max, выполняется безусловный переход к метке loop и значение i — на этот раз 2 — прибавляется к sum. Программа продолжа- ет работать, увеличивая i и прибавляя его к sum до тех пор, пока i не вырастет до 11, и поскольку условие if станет ложным, очередной возврат к loop выполнен не будет, и цикл завершится. Если вы запустите этот пример, то получите следующий вывод:
Последний
пример можно переписать, используя то,
что называется циклом for.
Решения
и
циклы
Описание полученных результатов
Если вы скомпилируете и запустите это, то получите тот же вывод, что и в пред- ыдущем примере, но как видите, здесь код заметно меньше. Условия, определяющие операцию цикла, появляются в скобках после ключевого слова for. В этих скобках содержится три выражения, разделенные точкой с запятой.
-
Первое выражение выполняется один раз, в начале, и устанавливает начальное условие цикла. В данном случае переменной i присваивается значение 1.
-
Второе выражение — логическое — определяет, до каких пор должен выпол- няться оператор цикла (или блок операторов). Если второе выражение истин- но, цикл продолжает выполняться; когда оно ложно, он завершается и выпол- нение продолжается с оператора, расположенного за телом цикла. В данном случае оператор цикла в строке, следующей за for, выполняется до тех пор, пока значение i меньше или равно max.
-
Третье выражение выполняется после оператора цикла (или блока операто- ров), и в данном случае оно увеличивает i на 1 на каждой итерации. После того, как это выражение оценено, еще раз вычисляется второе выражение, чтобы проверить, должен ли цикл продолжаться.
На самом деле такой цикл — не совсем то же самое, что представлено в версии ЕхЗ_07 . срр. Вы можете убедиться в этом, если установите значение max равным О в обеих программах и запустите их опять. При этом вы увидите, что значение sum будет равно 1 в ЕхЗ_07 . срр и 0 — в ЕхЗ_08 . срр. Конечное значение i также будет различаться. Причина в том, что первая версия программы (с if и goto) всегда вы- полняет тело цикла, как минимум, один раз, потому что условие не проверяется до его конца. Цикл for работает иначе, поскольку его условие на самом деле проверяет- ся в начале.
Обобщенная форма цикла for выглядит следующим образом.
Конечно же, оператор_внутри_цикла может быть отдельным оператором или блоком операторов в фигурных скобках. Последовательность событий при работе цикла for показана на рис. 3.3.
Как уже упоминалось, оператор_внутри_цикла на рис. 3.3 также может быть бло- ком операторов. Выражения, управляющие циклом for, очень гибки. Вы даже мо- жете написать два или более выражений, разделенных запятыми, вместо любого из трех управляющих операторов цикла for. Это дает вам широчайшие возможности в его применении.
Вариации цикла for
В большинстве случаев выражения в цикле for используются довольно стандарт- ным способом: первое из них инициализирует один или более счетчиков цикла, вто- рое проверяет, должен ли цикл продолжаться, а третье увеличивает или уменьшает значение одного или более счетчиков. Однако вы не обязаны использовать выраже- ния именно таким образом — на самом деле, возможны несколько вариаций.