- •Операторы циклов. Массивы
- •1. Операторы циклов
- •Параметрический оператор цикла
- •Операция «Запятая»
- •Оператор цикла while
- •Более изящной является запись
- •Оператор цикла do . . . While
- •Операторы continue, break
- •2. Массивы. Переменные типа массив
- •2.1. Описание массивов
- •2.2. Ввод и вывод массивов Использование массивов в вычислениях предполагает их ввод, как исходных данных, а также вывод их в качестве результата вычислений.
- •2.2.1. Ввод массивов
- •2.2.2. Вывод массивов
- •2.2.3. Операции с массивами
- •2.2.4. Многомерные массивы
- •Для четырехмерного
- •Представление многомерных массивов как массив массивов.
- •Описание массивов с помощью инструкции typedef
Операция «Запятая»
Операция «Запятая» увеличивает гибкость цикла for, позволяя включать в его спецификации несколько инициализирующих и корректирующих операций. Это очень удобно при вычислении функции с несколькими одновременно изменяющимися аргументами.
Пример:
Вычислить значения функции z = ax + cy , если х изменяется от хн до хк с шагом hx одновременно с у, который изменяется от ун с шагом hy . Значения коэффициентов а и с заданы.
Такое вычисление можно реализовать записью одного оператора цикла:
for ( x = хн, у = ун; x <= хк; x += hx , y += hy )
z = a*x + c*y;
Здесь в первой спецификации одновременно инициализируются переменные х и у, а в третьей спецификации одновременно изменяются эти переменные. Разделяются между собой операторы инициализации и операторы корректировки запятой.
Разрешается в заголовке цикла for описывать новую переменную, например,
for ( float x = хн,; x <= хк; x += hx )
-
Оператор цикла while
Синтаксис этого оператора имеет следующий вид:
while (условие) оператор; |
Оператор while обеспечивает выполнение циклической операции до тех пор, пока выполняется условие. Прекращение выполнения условия является основанием для прекращения циклической операции. Тело цикла может быть представлено одним простым или составным оператором. Этот цикл с предусловием. Это означает, что сначала проверяется условие выполнения цикла, а потом только принимается решение о выполнении цикла. Ниже иллюстрируется фрагмент программы с использованием оператора цикла while, записанной в соответствии с приведенным фрагментом блок – схемы.
x = 1;
while ( x < n )
{
S + = a*x;
x ++;
}
Более изящной является запись
x = 0;
while ( x ++ < n )
S + = a*x;
В этой записи операция увеличения переменной х на единицу, выполняемая на каждом шаге, переносится в заголовок цикла. При такой записи сначала совершается операция инкремент x ++ , а затем проверяется условие ( x < n ).
-
Оператор цикла do . . . While
Этот цикл с послеусловием. Синтаксис оператора следующий:
do оператор; while ( условие ); |
В отличие от оператора цикла while этот оператор позволяет сначала выполнять оператор, представляющий собой тело цикла, а затем проверяет условие. При таком положении тело цикла может выполниться один раз даже в случае, когда условие не выполняется. Это обнаруживается уже после выполнения тела цикла.
Представленный фрагмент программы блок–схемы отвечает о циклической операции, описываемой оператором цикла do …while. Этому фрагменту соответствует запись приведенного ниже оператор цикла.
х = хн ;
do
{
y = a*x;
x ++;
}
while ( x <= xк );