Циклы в C++.

Циклы используются для многократного повторения кусков кода. Возможность повторения определенных фрагментов кода — это одна из основных и в тоже время важных задач, которые приходится решать программисту. В C++ есть три вида циклов: for, while и do…while. Каждый из них имеет свое применение. Если условие всегда истинно, то такой цикл называется бесконечным, у такого цикла нет точки выхода.

Цикл for

Самый часто используемый цикл — это цикл for, вот его синтаксис:

for ( инициализация; условие; обновление ) {
  Исполняемый код
}

Для инициализации цикла можно объявить переменную или использовать уже существующую. Условие сообщает программе, что нужно делать: если условие — истина, то действие повторяется, если ложь — выход из цикла. Обновление определяет, как будет изменяться переменная, это поле может выглядеть так: x++, x+=10, ++x и т.п. Обратите внимание, если поле условие оставить пустым, то оно всегда будет считаться истиной, поэтому цикл будет выполняться, пока он не будет прерван каким-либо другим способом. Вот рабочий пример цикла For:

#include "stdafx.h"
#include <iostream>
using namespace std;

int main()
{
  // Цикл повторяется пока x < 10 и x увеличивается на 1 каждое повторение
  for ( int x = 0; x < 10; x++ ) {
    //вывод x и переход на новую строку
    cout<< x <<endl;
  }
  cin.get();
}
  

Запишите данный код в ваш компилятор и посмотрите что он выведет. Попробуйте сами придумать пример используя цикл For (будет интересно).

Цикл while

Когда мы не знаем, сколько итераций должен произвести цикл, нам понадобится цикл while. Синтаксис цикла while в C++ выглядит следующим образом.

while (Условие) {
    Тело цикла;
}
  

Данный цикл будет выполняться, пока условие, указанное в круглых скобках является истиной. Ниже приведен исходный код программы, считающей сумму всех целых чисел от 1 до 1000 с помощью цикла while.

#include "stdafx.h"
#include <iostream>
using namespace std;

int main()
{
    setlocale(0, "");
    int i = 0; // инициализируем счетчик цикла.
    int sum = 0; // инициализируем счетчик суммы.
    while (i < 1000)
    {
        i++;
        sum += i;
    }
    cout << "Сумма чисел от 1 до 1000 = " << sum << endl; 
	system("pause");
    return 0;
}
  

Давайте рассмотрим по порядку исходный код нашей программы:

Сначала мы инициализируем счетчик цикла и переменную, хранящую сумму чисел.

Затем мы описываем условие цикла — «пока переменная i меньше 1000 — выполняй цикл». При каждой итерации цикла значение переменной-счетчика i увеличивается на единицу внутри цикла.

Когда выполнится 1000 итераций цикла, счетчик станет равным 999 и следующая итерация уже не выполнится, поскольку 1000 не меньше 1000. Выражение sum += i является укороченной записью sum = sum + i. После окончания выполнения цикла, выводим сообщение с ответом (ответ узнаете когда запишите в свой компилятор и скомпилируете).

Цикл do while

Цикл do while очень похож на цикл while. Единственное их различие в том, что при выполнении цикла do while один проход цикла будет выполнен независимо от условия. Возьмем ту же задачу на поиск суммы чисел от 1 до 1000, но с применением цикла do while.

#include "stdafx.h"
#include <iostream>
using namespace std;

int main ()
{
    setlocale(0, "");
    int i = 0; // инициализируем счетчик цикла.
    int sum = 0; // инициализируем счетчик суммы.
    do {// выполняем цикл.
        i++;
        sum += i;
    } while (i < 1000); // пока выполняется условие.
    cout << "Сумма чисел от 1 до 1000 = " << sum << endl;

	system("pause");
    return 0;
}
  

Принципиального отличия нет, но если присвоить переменной i значение, большее, чем 1000, то цикл все равно выполнит хотя бы один проход (попробуйте присвоить переменной i значение, больше 1000 и посмотрите что будет).

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

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)
Загрузка...

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

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