|
|||
Оператор «выражение». Операторы ветвленияОператор «выражение» Любое выражение, завершающееся точкой с запятой, рассматривается как оператор, выполнение которого заключается в вычислении выражения. Частным случаем является пустой оператор ; (он используется, когда по синтаксису оператор требуется, а по смыслу – нет). Операторы ветвления Условный оператор if используется для разветвления процесса вычислений на два направления. Формат оператора: if (выражение) оператор1; [else оператор2;] Сначала вычисляется выражение, которое может иметь арифметический тип или тип указателя. Если оно не равно 0 (имеет значение true), выполняется первый оператор, иначе – второй. После этого управление передается на оператор, следующий за условным. Одна из ветвей может отсутствовать. Если в какой-либо ветви требуется выполнить несколько операторов, их необходимо заключить в блок, иначе компилятор не сможет понять, где заканчивается ветвление. Блок может содержать любые операторы, в том числе описания и другие условные операторы (но не может состоять из одних описаний). Необходимо учитывать, что переменная, описанная в блоке, вне блока не существует. Если какая-либо переменная используется только внутри условного оператора, рекомендуется объявить ее внутри скобок. Объявление переменной в тот момент, когда она требуется, то есть когда ей необходимо присвоить значение, является признаком хорошего стиля и позволяет избежать случайного использования переменной до ее инициализации. Объявлять внутри оператора if можно только одну переменную. Область ее видимости начинается в точке объявления и включает обе ветви оператора. Оператор switch (переключатель) предназначен для разветвления процесса вычислений на несколько направлений. Формат оператора: switch (выражение) { case константное выражение1: [операторы1] case константное выражение2: [операторы2] … case константное выражениеn: [операторыn] [default: операторы] } Выполнение оператора начинается с вычисления выражения, а затем управление передается первому оператору из списка, помеченного константным выражением, значение которого совпало с вычисленным. После этого, если выход из переключателя явно не указан, последовательно выполняются все остальные ветви. Выход из переключателя обычно выполняется с помощью операторов break или return. Все константные выражения должны иметь разные значения, но быть одного и того же целочисленного типа. Несколько меток могут следовать подряд. Если совпадения не произошло, выполняются операторы, расположенные после слова default, а при его отсутствии управление передается следующему за switch оператору.
|
|||
|