Язык программирования C

ELSE - IF


Конструкция

if (выражение) оператор else if (выражение) оператор else if (выражение) оператор else оператор

встречается настолько часто, что заслуживает отдельного краткого рассмотрения. Такая последовательность операторов if является наиболее распространенным способом программирования выбора из нескольких возможных вариантов. выражения просматриваются последовательно; если какое-то выражение оказывается истинным, то выполняется относящийся к нему оператор, и этим вся цепочка заканчивается. Каждый оператор может быть либо отдельным оператором, либо группой операторов в фигурных скобках.

Последняя часть с else имеет дело со случаем, когда ни одно из проверяемых условий не выполняется. Иногда при этом не надо предпринимать никаких явных действий; в этом случае хвост

else оператор

может быть опущен, или его можно использовать для контроля, чтобы засечь "невозможное" условие.

Для иллюстрации выбора из трех возможных вариантов приведем программу функции, которая методом половинного деления определяет, находится ли данное значение х в отсортированном массиве v. Элементы массива v должны быть расположены в порядке возрастания. функция возвращает номер позиции (число между 0 и n-1), в которой значение х находится в v, и -1, если х не содержится в v.

binary(x, v, n) /* find x in v[0]...v[n-1] */ int x, v[], n; { int low, high, mid;

low = 0; high = n - 1; while (low <= high) { mid = (low + high) / 2; if (x < v[mid]) high = mid - 1; else if (x > v[mid]) low = mid + 1; else /* found match */ return(mid); } return(-1); }

Основной частью каждого шага алгоритма является проверка, будет ли х меньше, больше или равен среднему элементу v[mid]; использование конструкции else - if здесь вполне естественно.



Содержание раздела