|
Программирование >> Дополнительные возможности наследования
дится сообщение, наглядно иллюстрирующее циклический процесс. Конечно, в цикле ващей программы могут выполняться и более серьезные операции. Оператор for позволяет объединить три операции, необходимые для работы цикла, в одну. Кратко эти операции можно охарактеризовать так: инициализация, проверка условия и приращение счетчика цикла. Выражение с оператором for состоит из самого этого оператора, за которым в круглых скобках следуют три выражения, устанавливающих параметры выполнения цикла. Выражения в круглых скобках разделяются символами точки с запятой. Первое выражение цикла for устанавливает начальное значение счетчика цикла. Счетчик, как правило, представляет собой целочисленную переменную, которая объявляется и инициализируется прямо в цикле for, хотя в С++ допускается использование в этом месте любого выражения, выводящего начальное значение счетчика каким-то косвенным путем. Второй параметр цикла for определяет условие продолжения цикла, которое также может быть представлено любым выражением. Это условие выполняет те же функции, что и в конструкции while. Третий параметр устанавливает значение приращения счетчика цикла (по умолчанию щаг приращения равен единице). В этой части также может использоваться любое корректное выражение или оператор С++. Нужно заметить, что, хотя параметры цикла for могут задаваться любыми корректными выражениями С++, для установки второго параметра обязательно должно использоваться выражение, возвращающее логическое значение. Пример использования цикла for приведен в листинге 7.9. Лнсшннг 7.9. Пример нспожьзовання цнкжа for 1: Листинг 7,9, 2: Пример использования цикла for 4: ftinclude <iostream.h> 5: 6: int mainO 7: { 8: int counter; 9: for (counter = 0; counter < 5; counter++) 10: cout Looping! ; 12: cout << \ nCounter: << counter << .\ n ; 13: return 0; 14: } Looping! Looping! Looping! Looping! Looping! Counter: 5, \ В строке 9 профаммы с помощью оператора for задается цикл, отсчиты- вающий число итераций с помощью переменной counter. После каждого цикла проверяется условие продолжения цикла и значение переменной counter увеличивается на единицу. Тело цикла состоит из одного оператора, записанного в сфоке 10. В реальных профаммах тело цикла может состоять из любого количества операторов. Сложные выражения с оператором for При профессиональном использовании цикл for становится мощным и гибким инструментом программирования. Тот факт, что оператор for допускает установку трех независимых параметров цикла (инициализацию, условие продолжения и шаг), открывает неограниченные возможности в управлении работой цикла. Параметры цокла for Синтаксис установок параметров цикла for следующий: I for{шшцтлизация, проверка, операция) выражения; Выражение инициализации используется для установки начального значения счетчика цикпа или для выполнения какой-нибудь другой операции, подготавливающей работу цикла. Под проверкой понимают некое выражение на языке С++, которое выполняется перед каждой новой итерацией цикла и возвращает логическое значение. Если возвращается значение true, то программа выполняет строки тела цикла, после чего выполняется третье выражение в параметрах цикла, которое, как правило, приращивает значение счетчика на заданную величину. Пример 1: напечатать Hello десять раз for(lnt 1=0; i<10; cout Hello! < endl; Пример 2: for(int 1=0; I < 10; cout Hello! endl; cout the value of i is: i endl; Цикл f о г работает в такой последовательности: 1. Присваивается начальное значение счетчику цикла. 2. Вычисляется значения выражения, устанавливающего условие продолжения цикла. 3. Если выражение условия возвращает true, то сначала выполняется тело цикла, а затем заданная операция над счетчиком цикла. На каждой итерации шаги 2 и 3 повторяются. Множественные нноциалозацно о ороращення счетчиков цикла Синтаксис задания цикла for позволяет инициализировать несколько переменных-счетчиков, проверять сложные условия продолжения цикла или последовательно выполнять несколько операций над счетчиками цикла. Если присваиваются значения нескольким счетчикам или выполняется несколько операций, они записываются последовательно и разделяются запятыми. В листинге 7.10 инициализируются два счетчика, значения которых после каждой итерации увеличиваются на единицу. Лисшииг 7.19. Исивльзование несквлькнх счешчнквв в цнкке for Листинг 7. 10. Использование нескольких счетчиков в цикле for ftinclude <iostream. h> int mainO { for (int 1=0, j=0; i<3; i++, j++) cout i: i j; j endl; return 0; i: 0 ] i: 1 j i: 2 ] В строке 9 переменные i и j инициализируются нулевыми значениями. Затем проверяется условие КЗ и, так как оно справедливо, выполняется первая итерация цикла. На каждой итерации осуществляется вывод значений счетчиков на экран. После этого выполняется третья часть конструкции for, в которой значения переменных-счетчиков увеличиваются на единицу. После выполнения строки 10 и изменения значений переменных условие проверяется снова. Если условие все еще справедливо, запускается следующая итерация цикла. Это происходит до тех пор, пока условие продолжения цикла не нарушится. В этом случае значения переменных не изменяются и управление передается следующему после цикла оператору. Нулевые параметры цикла for Любой параметр цикла for может быть опущен. Пропуск означает использование так называемого нулевого параметра. Нулевой параметр, как и любой другой, отделяется от остальных параметров цикла for символом точки с запятой (;). Если опустить первый и третий параметры цикла for, как показано в листинге 7.11, результат его применения будет аналогичен полученному при использовании оператора while. Листинг 7.11. Нулввые нврвмешры цикла for 2 3 4 5 6 7 8 9 Листинг 7.11. Нулевые параметры цикла for ftinclude <iostream.h> int mainO { int counter = 0; for( ; counter < 5; )
|
© 2006 - 2025 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |