
- •Разработка программы нахождения максимального или минимального элементов в массиве
- •Основные операции, операторы ветвления и циклов
- •Арифметические выражения
- •Логические выражения
- •Приоритеты (порядок) выполнения операций
- •Порядок вычислений
- •Выбор вариантов
- •Условные операторы
- •Оператор ветвления (проверки условия) if
- •If (выражение1)
- •If (выражение2)
- •Операция условия
- •Выражение1 ? выражение2 : выражение3
- •Множественный выбор: оператор switch
- •Операторы циклов
- •Оператор цикла while
- •Оператор цикла for
- •Оператор цикла do while
- •Вложенные циклы
- •Другие управляющие операторы
- •Оператор break
- •Оператор continue
- •Оператор goto
- •Организация ввода элементов массивов
- •Задача поиска минимального (максимального) значения
-
Выбор вариантов
Согласно теории вычислительных систем, хороший язык должен обеспечивать реализацию следующих трех форм управления процессом выполнения программ:
-
Выполнение последовательности операторов.
-
Выполнение определенной последовательности операторов до тех пор, пока некоторое условие истинно. Операторы циклов и безусловного перехода позволяют реализовать данную форму управления.
-
Использование проверки истинности условия для выбора между различными возможными способами действия. Операторы условия ("ветвления") if и выбора вариантов switch позволяют реализовать третью форму управления.
Обычно операторы в программе выполняются в том порядке, в котором они написаны. Однако, используя операторы передачи управления, можно передать управление в другую точку этой же программы. Операторы передачи управления можно также использовать для управления итеративным процессом, задержкой выполнения программы и окончанием программы.
Применение всех трех форм позволяет создавать мощные, универсальные и полезные программы. Совместно с операторами ветвления и цикла могут быть использованы операторы перехода и прерывания цикла.
-
Условные операторы
Условные операторы дают программисту возможность передавать управление на тот или иной оператор программы в зависимости от определенных условий. То есть если проверяется какое-то условие, результатом которого является “истина” или “ложь”, то, очевидно, в зависимости от результата должны выполняться различные действия.
-
Оператор ветвления (проверки условия) if
С помощью оператора ветвления if можно осуществит выбор из двух возможностей – выполнить набор действий или пропустить его, либо осуществить выбор одного из двух вариантов.
Этот оператор имеет следующие структуры:
-
Простейшая форма оператора позволяет выбрать оператор или пропустить его (рисунок 1):
if (выражение) оператор;
|
Рисунок 1 |
Под "выражением" (или условием) здесь обычно понимают логическое выражение; если такое выражение истинно, то "оператор" выполняется, в противном случае он пропускается. Вообще говоря, в качестве условия может быть использовано любое выражение, и если его значение равно 0, то оно считается ложным. "Оператор" может быть простым или составным, состоящим из нескольких операторов. Если в "оператор" на самом деле входит несколько операторов, то они объединяются в блок с помощью фигурных скобок.
Примеры:
if ( x > y ) printf(" Мы победили!\n");
if ( n < 10 )
{
y = x – 1;
n++;
}
-
Конструкция if – else позволяет выбрать одно из двух действий (рисунок 2):
if (выражение) оператор1; else оператор2; |
Рисунок 2
|
Если "выражение" истинно, то выполняется "оператор 1", если ложно, то выполняется "оператор 2".
Примеры:
if ( x > y ) printf (" Мы победили!\n");
else printf (" Мы проиграли!\n");
if ( n < 10 )
{
y = x – 1;
n++;
}
else
y = z;
-
Конструкция else – if, являющаяся расширением конструкции if – else, позволяет осуществлять выбор более чем из двух вариантов (рисунок 3).
if (выражение1) оператор1; else if (выражение2) оператор2; else оператор3;
|
Рисунок 3 |
Если "выражение 1" истинно, то выполняется "оператор 1". Если "выражение 1" ложно, но "выражение 2" истинно, выполняется "оператор 2". В случае, когда оба выражения ложны, выполняется "оператор 3".
Фактически конструкция else – if является видоизмененным способом задания оператора ветвления, описанного выше. По-другому эту структуру можно описать: