Заметка Неуча "О циклах в C++"

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

PS: Применительно не только к C++.

Заметка Неуча "О циклах в C++" C++, Заметки, Обучение, Для чайников

Цикл FOR - когда вы наверняка сколько раз надо "сделать дело", чтобы "гулять смело".

Что делает: объявляет старт счетчика (в примере и сам "счетчик"), условие его остановки, и шаг с которым он тикает, а уже после выполняет "ВАШИ БЕЗУМНЫЕ КОМАНДЫ".


Его можно использовать, например, для чтения или наполнения массива типа char. Ну или просто заставить эту тупую железяку сосчитать до 1000.

Заметка Неуча "О циклах в C++" C++, Заметки, Обучение, Для чайников

Цикл WHILE - когда вы сначала ставите цель, а потом упорно к ней стремитесь.

Что делает: объявляет условие для остановки и начинает выполнять "ВАШИ БЕЗУМНЫЕ КОМАНДЫ" до тех пор пока это условие не будет достигнут.


Тут надо очень ясно понимать, что пока условие не достигнуто - цикл не окончится. В примере, все упирается в счетчик, и он увеличивается на 1 в конце каждого прогона цикла.

Заметка Неуча "О циклах в C++" C++, Заметки, Обучение, Для чайников

Цикл DO...WHILE - когда вы сначала делаете, потом думаете, и опять делаете, пока не выясняется, что хватит.

Что делает: сначала выполняет "ВАШИ БЕЗУМНЫЕ КОМАНДЫ", потом сверяет их с ожидаемым результатом, и если не сходится, то вновь выполняет "ВАШИ БЕЗУМНЫЕ КОМАНДЫ".


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

С уважением, Ваш Неуч.

Лига программистов C/C++

60 постов4.8K подписчика

Добавить пост

Правила сообщества

Соблюдайте правила Pikabu:

https://pikabu.ru/html.php?id=wtf


Помимо этого ЗАПРЕЩЕНО:

- Размещать в сообществе посты стиля "Подскажите как удалить вирус", "Подскажите как установить программу", "Подскажите как починить монитор/телевизор/мышь/тостер/стиральную машину" или "Напишите за меня лабу в универ". Пожалуйста размещайте такие посты вне этого сообщества или в соответствующих для этого сообществах.

13
Автор поста оценил этот комментарий
Цикл FOR - когда вы наверняка сколько раз надо "сделать дело", чтобы "гулять смело".

for(;;){

  БЕЗУМНЫЕ КОМАНДЫ

}

Иллюстрация к комментарию
раскрыть ветку
5
Автор поста оценил этот комментарий

Вместе i = i + 1 не плохо было бы использовать инкремент, вот так: i++, a лучше так ++i . Увеличит вашу переменную на 1 без регистрации и смс.

В операторах ветвления, да и везде, желательно разграничивать код пробелами. Т.е. вместо

for(int i=0; i<123; ++i) писать for (int i = 0; i < 321; ++i)

Читабельность такого кода увеличивается в разы, а значит допустить ошибку будет труднее.

раскрыть ветку
3
Автор поста оценил этот комментарий

Хмм... Простые циклы видели все. Не лучше было бы упомянуть о циклах for из 11 стандарта?


std::vector<int> arr = {1, 2, 42};

for (int i : arr) {

// do smth.

}

2
Автор поста оценил этот комментарий
Вангую заметку "объявление переменных и констант"
раскрыть ветку
2
Автор поста оценил этот комментарий

i = i + 1. C++

раскрыть ветку