Условный оператор
Пустой оператор
Блоки и составные операторы
Деление операторов языка С на группы
По характеру действий различают два типа операторов: операторы преобразования данных и операторы управления работой программы. Типичные операторы преобразования данных – операторы присваивания и произвольные выражения, завершаемые символом "точка с запятой", вызовы функций. Операторы управления называют управляющими конструкциями или структурами. К ним относятся:
- составные операторы и блоки;
- пустой оператор;
- условный оператор;
- оператор безусловного перехода;
- операторы цикла;
- оператор переключатель.
Рассмотрим их.
Любая последовательность операторов, заключенная в фигурные скобки, является составным оператором (блоком). Составной оператор не должен оканчиваться точкой с запятой, поскольку ограничителем блока служат сама закрывающая скобка. Внутри блока каждый оператор должен оканчиваться точкой с запятой.
Составной оператор может использоваться везде, где синтаксис языка допускает обычный оператор. Отличие блока от составного оператора- наличие определений в теле блока. Наиболее часто блок употребляется в качестве тела функции.
Пустой оператор (null statement) представляется символом <точка с запятой>, перед которым нет выражения. Пустой оператор используют там, где синтаксис языка требует присутствия в данном месте программы оператора, однако по логике программы оператор должен отсутствовать.
Необходимость в использовании пустого оператора часто возникает при программировании циклов, когда действия, которые могут быть выполнены в теле цикла, целиком помещаются в заголовок цикла.
Стиль программирования
Рекомендуется точку с запятой, относящуюся к пустому оператору, помещать на отдельной строке.
Пример оператора цикла, вслед за которым помещен пустой оператор, приведен на ниже:
int length(char *stг)
{
int index = 0;
while ( str[ index++])
;
return --index;
}
Условный оператор имеет сокращенную форму:
if (выражение _условие) оператор;
где в качестве выражения_условия могут использоваться:
арифметическое выражение, отношение и логическое выражение. Оператор, включенный в условный, выполняется только в случае истинности (т.е, при ненулевом значении) выражения_условия.
Пример: if (x < 0 && x > -10) x=-x;
Кроме сокращенной формы, имеется еще и полная форма условного оператора:
if (выражение_условие) оператор_1;
else оператор_2;
Здесь в случае истинности выражения-условия выполняется только оператор_1, при нулевом значении выражения-условия выполняется только оператор_2. При вложенных конструкциях синтаксис С предписывает, что ELSE всегда относится к ближайшему IF.