Цикл в программировании нужен для того, чтобы повторить какое-то действие программы несколько раз. Цикл — это неотъемлемая часть программирования, поэтому важно понимать их действие. Если рассматривать циклы в С, то они бывают 3-х видов:
цикл for;
цикл while;
цикл do...while.
Сегодня в статье мы обсудим цикл «for» в С.
Цикл «for» в С
Цикл «for» в С может выполнять одинаковое количество действий определенное количество раз, которое мы ему зададим. Например, мы можем 5 сотен раз вывести сообщение «Привет!», если нам это нужно.
Общее структурированное построение цикла «for» выглядит так:
for («указываем первоначальную величину счетчика цикла», «условие исполнения цикла», «шаг исполнения цикла») {
«блок операций цикла»
}
Давайте разберем приведенный выше шаблон цикла «for» в С:
«указываем первоначальную величину счетчика цикла» — здесь создается переменная для нашего цикла с какой-либо первоначальной величиной, эта команда исполняется до старта самого цикла; величину этой переменной обязательно нужно указывать;
«условие исполнения цикла» — здесь указывается логическое условие, которое обеспечивает работу нашего цикла, пока оно будет истинным;
«шаг исполнения цикла» — здесь указывается значение шага переключения нашего счетчика цикла после каждого законченного прохождения самого цикла, то есть тут указывается величина, на которую счетчик цикла будет увеличивать или уменьшать свое значение;
«блок операций цикла» — здесь указывается код, который должен выполняться в процессе прохождения самого цикла.
Важное замечание: «первоначальная переменная», «условие» и «шаг» в цикле (то, что указывается в круглых скобках "()") обязательно должны отделяться между собой «точкой с запятой» ";", иначе работать не будут.
Цикл «for» в С: пример кода
Давайте разработаем программку, которая сможет высчитывать суммарность всех чисел от 1 и до 99.
Вот каким будет код:
#include
using namespace std;
int main()
{
int i; // i — это цикличный счетчик
int sum = 0; // вычисляем суммарность чисел от 1 до 99 .
setlocale(0, "");
for (i = 1; i<= 99; i++) // присваиваем начальному значению переменной 1, а конечному — 99 и присваиваем значение цикличному шагу величину 1, то есть i++, это то же самое, если бы мы написали: i=i+1
{
sum = sum + i;
}
cout<< "Полученная суммарность чисел от 1 до 99 будет равняться: " << sum << endl;
return 0;
}
Если взять и пропустить через компилирование написанный выше скрипт, то у нас в результате будет высчитанная суммарность всех чисел от 0 и до 99. Теперь представьте, если такой подсчет вести «вручную», — сколько на это нужно было бы потратить времени? А если нужно было бы сложить все числа до 1000 или до миллиона? Цикл «for» в С исполнит за нас самые рутинные задания.
Вложенные циклы в С
Цикл «for» в С может быть вложенным — это означает, что внутри одного цикла «for» может располагаться другой цикл.
Пример кода, когда нужно вывести числа от 0 и до 99 по 10 в каждой строке:
int main() {
for(int i=0; i<10; i++) // задаем цикл для десятков
{
for (int j = 0; j< 5; j++) // задаем цикл для единиц
{
printf("- ", i * 10 + j); // выведем результат вычисления в 2 знакоместа и backspase
}
printf("\n"); // переводим запись значений на новую строчку во внешнем цикле
}
getchar();
return 0;
}
Как прервать цикл
Бывают циклы, для которых не нужно ждать их окончания, потому что это будет очень долго. Например, мы задаем цикл по поиску какого-либо значения в массиве. И мы хотим, чтобы при найденном конкретном значении цикл завершал свою работу, а не заканчивал до конца обработку массива.
В это случае нужно применять специальный оператор для прерывания циклов — break. Либо можно пропускать часть операторов большого цикла и начинать прохождение цикла заново при помощи оператора continue.
Цикл «for» в С: возможные проблемы
Цикл «фор» в С — это достаточно удобный инструмент, если применять его правильно. Но он может нести в себе скрытые угрозы. Обычно на такие угрозы натыкаются молодые и неопытные программисты.
Вот несколько возможных проблем с циклом:
Сегфолт или ошибка сегментации. У нее множество причин возникновения, но что касается циклов в С, то она возникает, когда переменной «i» в цикле не было задано первоначальное значение. Если этой переменной не задать значение, тогда она вытягивает из программы всякий «мусор», а с «мусорным значением» невозможно сделать ничего, поэтому в лучшем случае программа перестает работать.
Бесконечный цикл. Если циклу задать неправильное условие или неправильный шаг счетчика, то можно увести его в «бесконечность», то есть он будет исполняться постоянно до тех пор, пока будет истинным его условие, а его условие будет истинным всегда. Поэтому очень важно перед написанием цикла убедиться, что все сделано правильно и цикл не будет бесконечным. Либо не нужно лениться применять оператор break, чтобы вовремя выйти из цикла.
Заключение
Цикл «for» в С — это довольно простая операция, но все равно она требует внимательности от программиста. Правильное написание цикла — это залог того, что он будет правильно выполняться.

Другое