Лабораторна робота № 1
Тема «Поєднання умовного оператору та циклу. Параметричні цикли. Вкладені цикли»
Теоретичні відомості
Условный оператор
Условный оператор имеет сокращенную форму:
if (выражение_условие) оператор;
где в качестве выражения_условия могут использоваться: арифметическое выражение, отношение и логическое выражение.
Оператор, включенный в условный, выполняется только в случае истинности (т.е. при ненулевом значении) выражения_условия. Пример:
if (х < 0 && х > -10) х=-х;
Кроме сокращенной формы, имеется еще и полная форма условного оператора:
if (выражение_условие)
оператор_1;
else оператор_2;
Здесь в случае истинности выражения-условия выполняется только оператор_1, при нулевом значении выражения-условия выполняется только оператор_2. Например:
if (х > 0)
b=х ;
else
b=-х;
Оператор в сокращенном варианте оператора if, и оператор_1 и оператор_2 в полном операторе if могут быть как отдельными, так и составными операторами.
Для обозначения соответственно начала и конца составного оператора используют фигурные скобки. Например,
if (d>x) {d--; x++; }
!!!!! Обратите внимание на отсутствие ; после }, обозначающей конец составного оператора или блока.
В условных операторах в качестве любого из операторов (после условия или после else) может использоваться составной оператор.
Оператор цикла
Три формы операторов цикла. Как и в других языках программирования, в языке Си существуют специальные средства для организации циклов (операторы циклов), позволяющие упростить их программирование.
В большинстве языков программирования оператор цикла состоит из двух элементов -заголовка и тела.
Тело включает операторы, выполняемые в цикле, заголовок организует циклическое выполнение операторов тела. В соответствии с названием заголовок размещается непосредственно перед телом цикла.
В языке С равноправно используются три разных оператора цикла, обозначаемых соответственно служебными словами
while,
for,
do.
Циклы while и for построены по схеме
заголовок_цикла тело_цикла
Цикл do имеет другую структуру - тело цикла как бы обрамлено (сверху и снизу) конструкциями, организующими циклическое выполнение тела. Поэтому говорить о заголовке цикла do в языке С некорректно.
Во всех трех операторах цикла тело цикла - это либо отдельный, либо составной оператор, т.е. последовательность операторов, заключенная в операторные скобки {}.
Цикл while (цикл с предусловием) имеет вид:
while (выражениеусловие) тело_цикла
В качестве выражения_условия чаще всего используется отношение или логическое выражение. Если оно истинно, т.е. не равно 0, то тело цикла выполняется до тех пор, пока выражение_условие не станет ложным.
Обратите внимание, что проверка истинности выражения осуществляется до каждого выполнения тела цикла (до каждой итерации). Таким образом, для заведомо ложного выраже-ния_условия тело цикла не выполнится ни разу. Выражение_условие может быть и арифметическим выражением. В этом случае цикл выполняется, пока значение выражения_условия не равно 0 имеет вид:
do
тело_цикла
while (выражение_условие);
Выражение_условие логическое или арифметическое, как и в цикле while. В цикле do тело цикла всегда выполняется по крайней мере один раз. После каждого выполнения тела цикла проверяется истинность выражения_условия (на равенство 0), и если оно ложно (т.е. равно 0), то цикл заканчивается. В противном случае тело цикла выполняется вновь.
Цикл for (называемый параметрическим) имеет вид:
for (выражение _1; выражение_условие; выражение _3) тело_цикла
Первое и третье выражения в операторе for могут состоять из нескольких выражений, разделенных запятыми. Выражение_1 определяет действия, выполняемые до начала цикла, т.е. задает начальные условия для цикла; чаще всего это выражение присваивания. Выражение_условие - обычно логическое или арифметическое. Оно определяет условия окончания или продолжения цикла. Если оно истинно (т.е. не равно 0), то выполняется тело цикла, а затем вычисляется выражение_3.
Выражение_3 обычно задает необходимые для следующей ите¬рации изменения параметров или любых переменных тела цикла. После выполнения выражения_3 вычисляется истинность выражения_условия, и все повторяется... Таким образом, выражение_1 вычисляется только один раз, а выражение_условие и выражение_3 вычисляются после каждого выполнения тела цикла.
Цикл продолжается до тех пор, пока не станет ложным выражение_условие. Любое из трех, любые два или все три выражения в операторе for могут отсутствовать, но разделяющие их символы ";" должны присутствовать всегда. Если отсутствует выражение_условие, то считается, что оно истинно и нужны специальные средства для выхода из цикла.