Изучаем цикл for в C++

Цикл for в C++: изучаем с примерами

Здравствуйте, дорогие читатели! Циклы, являются неотъемлемой частью любого языка программирования. Они позволяют нам выполнять огромное количество рутинных операций, которые делать вручную невероятно сложно. В этом и заключается главная «прелесть» циклов.

Существует три вида циклов в C++:

В данной статье речь пойдет о цикле for.

Как работает цикл for?

Цикл for последовательно выполняет одинаковые действия, определенное количество раз. Например, тысячу раз будет выводить сообщение Hello, world!.

Давайте рассмотрим структуру цикла for:

Теперь давайте поподробнее рассмотрим синтаксис цикла for:

  • <объявление счетчика> — здесь нужно создать переменную (счетчик цикла) и задать ей первоначальное значение. Эта команда выполняется до запуска цикла;
  • <условие выполнения цикла> — оно похоже на условие оператора if. Нам нужно указать логическое выражение, при истинности которого, цикл будет работать;
  • <шаг цикла> — данная инструкция будет выполняться в конце каждой итерации, переводя счетчик цикла на новое значение;
  • <тело цикла> — здесь мы указываем код, который будет выполнятся на каждой итерации цикла.

Возможно у вас остались вопросы, поэтому давайте разберем одну простенькую программу.

Пример работы цикла for

Следующая программа находит произведение цифр от 1 до N (факториал):

Вот один из возможных результатов работы данной программы:

Вывод нашей программы
N = 7
5040
Process returned 0 (0x0) execution time : 2.723 s
Press any key to continue.

Теперь давайте приступи к разбору кода:

  • Строка 6: мы создаем переменную n. В будущем ее мы будем использовать в условии выполнения цикла.
  • Строка 10: нам нужна переменная в которой будет хранится результат работы цикла. Поэтому мы создаем переменную res.
  • Строка 11: вот мы и добрались до цикла for. Здесь давайте разберемся поподробнее:
    • в качестве счетчика выступает переменная i. Мы сразу ей задаем значение 1 (собственно можно было начать и с двух, поскольку умножение на 1 не имеет смысла);
    • условием выполнения цикла является нестрогое неравенство. Цикл будет выполнятся до тех пор, пока i меньше или равно n;
    • после каждой итерации мы увеличиваем значение счетчика на единицу (операция инкремента). Это равносильно следующей записи: i = i + 1.
  • Строка 14: выводим результат работы программы на экран пользователя.

Данный пример довольно наглядно демонстрирует возможности циклов. Однако давайте рассмотрим еще одну из вариаций цикла for, которая наглядно демонстрирует его гибкость:

Данная программа — это реализация алгоритма нахождения НОД. Давайте не будем разбирать его работу, а просто рассмотрим особенности данного кода:

  • в качестве счетчика можно указывать сразу несколько переменных. Также они не обязательно должны быть объявлены непосредственно в самом блоке;
  • любой из блоков (их 3) может вовсе отсутствовать. Вот хороший пример работы бесконечного цикла:

    Данный код будет выполняться до тех пор, пока пользователь принудительно не завершит работу программы.

Довольно часто вам придется пользоваться лишь одной вариацией цикла for. Однако если вам придется выполнять специфические задачи, то вы сможете подстроить цикл for под свои «хотелки».

Возможные ошибки

Цикл — это одновременно очень удобный инструмент для работы, но в тоже время он таит не мало скрытых угроз. Неопытные кодеры могут совершать ошибки, которые не просто выявить, поскольку программа успешно компилируется и начинает работу.

Сегфолт

У данной ошибки довольно много причин. Подробнее о ней можете почитать на Википедии. В случае работы с циклами она может возникнуть следующим образом:

Вы могли заметь, что здесь переменной i не задали значение. Изначально переменная содержит «мусор» (можете вывести такой мусор на экран для того, чтобы понять о чем я говорю). Естественно к мусору прибавлять ничего нельзя — программа вылетит.

Постарайтесь выработать привычку всегда обнулять созданные переменные. Это избавит вас от огромного количества проблем при написании собственных программ.

Некоторые компиляторы обнуляют переменные при их создании. Например, это делает компилятор gcc.

Бесконечный цикл

Данная ошибка часто возникает из-за неправильного условия или изменение значения счетчика внутри цикла.

Давайте посмотрим на простой пример:

Данный цикл никогда не завершится, поскольку внутри значение i уменьшается на единицу, а после опять увеличивается. Таким образов условие i < 10 всегда будет истинным.



Тест на тему «Цикл for в C++»

Пожалуйста, подождите пока страница загрузится полностью.
Если эта надпись не исчезает долгое время, попробуйте обновить страницу. Этот тест использует javascript. Пожалуйста, влкючите javascript в вашем браузере.

If loading fails, click here to try again

Попробуйте пройти небольшой тест, чтобы проверить свои знания по данной теме.
Начать


В качестве домашнего задания, напишите программу, которая будет находить сумму чисел от 1 до N. Удачи!




1 комментарий к записи “Цикл for в C++: изучаем с примерами”

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

  • Сергей:

    Доступно и просто написано, спасибо! Но в программе ошибка или упущение скорее: команда cin прописана в комментариях.