 
        
         
{
printf ("Введите ваш пароль:"); scanf ("%d", &usr_input);
}
while (passwd != usr_input);
......
2.4. Цикл со счётчиком
Цикл со счётчиком является, наверное, наиболее удобным для использования в большинстве программ. В этом цикле в обязательном порядке вначале задаются начальное значение счётчика, проверяемое условие и шаг счётчика.
Синтаксис цикла со счётчиком таков:
for (начальное значение счётчика; проверяемое условие; шаг счётчика)
{
оператор1;
оператор2;
}
Изображение такого цикла в блок-схеме следующее:
Приведём пример использования цикла for() - вычислим сумму первых n членов ряда Фибоначчи (числовая последовательность: 1 1 2 3 5 8 13 21 34 ..... - в которой каждый последующий член равен сумме двух предыдущих).
Решение сводится к вычислению каждого последующего члена ряда Фибоначчи и добавлению его к общей сумме.
Для решения задачи потребуется как минимум пять переменных:
1.для хранения суммы (sum),
2.для хранения ограничения, вводимого пользователем, т. е. числа суммируемых членов (n),
3.4. для хранения текущего и предыдущего членов ряда (ecurrent и eprevious).
5. для счётчика (сколько членов ряда уже входит в сумму) - i.
Поскольку ряд состоит из целых чисел, логично использовать целый тип переменных.
Возможно использование беззнакового целого, т. к. отрицательных чисел в ряде Фибоначчи нет.
Алгоритм решения:
●Задать начальные значения первых двух членов ряда Фибоначчи (все члены, начиная с третьего, можно вычислить, суммируя два предыдущих члена),
● обнулить переменные суммы и счётчика: sum = 0; i = 0;
●рассчитать сумму одного члена ряда: sum = sum + ecurrent; (а также нарастить счётчик на единицу: i++; чтобы отметить, что один член ряда уже просуммирован).
●Постоянно, до достижения n, добавляем в сумму текущий член ряда, увеличиваем
счётчик на единицу: sum = sum + ecurrent; i++;
● Вычисляем новый член ряда: enext = eprevious + ecurrent;
Обратите внимание, что при суммировании следующий член ряда станет текущим, текущий - предыдущим
eprevious = ecurrent; ecurrent = enext;
... и так далее до достижения n; Код выглядит следующим образом:
#include <stdio.h> int main (void)
{
int eprevious, ecurrent, enext; int sum, n;
int i;
| ecurrent = 1; | /* | задаём явно первый член ряда */ | 
| sum = ecurrent; | /* | включаем первый член ряда в сумму */ | 
eprevious = ecurrent; /* сдвигаемся на 1 член, текущий член ряда становится предыдущим */
ecurrent = 1; /* задаём явно второй член ряда */
printf ("Please enter the number of row members to sum: "); scanf ("%d", &n);
for (i = 1; i <= n; i++)
{
sum = sum + ecurrent;
enext = ecurrent + eprevious; eprevious = ecurrent; ecurrent = enext;
}
printf ("\n The sum of %d first row members is %d", n, sum);
}
2.5. Дополнительные операции присваивания
Довольно удобно использовать сокращённую нотацию для выполнения арифметических
 
операций. В сокращённой нотации определены следующие операторы:
| += | *= | 
| -= | %= | 
| /= | 
 | 
Следующая таблица устанавливает соответствие между сокращённой и стандартной нотациями:
| Операция в сокращённой | Стандартный | 
| нотации | эквивалент | 
| 
 | 
 | 
| i += 1; | i = i + 1; | 
| i -= 1; | i = i - 1; | 
| i /= 2; | i = i / 2; | 
| i *= 2; | i = i * 2; | 
| i %= 2; | i = i % 2; | 
Также часто используются унарные операторы инкремента и декремента: ++ и --. Оператор ++ увеличивает значение переменной на единицу; оператор -- - уменьшает.
Операторы инкремента и декремента могут использоваться в постфиксной (оператор стоит после переменной) и префиксной (оператор стоит перед переменной) форме.
Различие между формами употребления операторов иллюстрируется следующим примером:
Номер Код строки
1int a = 1, b = 1;
2int p, q;
3p = a ++;
4q = ++b;
Значения переменных после выполнения операторов каждой строки будут таковы:
| Номер строки | 
 | Значения переменных | 
 | ||
| 
 | 
 | ||||
| 
 | a | b | p | 
 | q | 
| 1 | 1 | 1 | нет | 
 | нет | 
| 2 | 1 | 1 | нет | 
 | нет | 
| 3 | 2 | 1 | 1 | 
 | нет | 
| 4 | 2 | 2 | 1 | 
 | 2 | 
Обратите внимание, что при использовании постфиксной формы (строка 3) сначала производится операция присваивания (p = a), а потом уже значение переменной a увеличивается на единицу (a++). При использовании префиксной формы (строка 4) сначала значение b увеличивается на единицу, а потом уже новое значение b присваивается переменной q.
