Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Высокоуровневые методы информатики и программир...docx
Скачиваний:
25
Добавлен:
12.11.2019
Размер:
6.53 Mб
Скачать

6.2.10.4. Условная операция ‑ ?

<результат >= (<условие>) ?< выражение-1> :< выражение-2 >

Если условие истинно, то результату присваивается значение <выражение-1>, иначе ‑ < выражение-1>.

Пример: main ( ) {int i = 6, j = 4; int result = ( i < j ) ? i : j; }

6.2.10.5. Оператор выбора варианта ‑ switch

switch (< выражение >)

{ case <константное выражение_1> : <операторы> [<break;>]

...

case <константное выражение_n > : <операторы> [<break;>]

[default: <операторы>]

}

После вычисления выражения в заголовке оператора его результат последовательно сравнивается с констант­ными выражениями, начиная с самого верхнего, пока не будет установлено их соответствие. Тогда вы­пол­няют­ся операторы внутри соответствующего case, управление пе­рехо­дит на следующее константное выражение, и проверки продолжаются. Именно поэтому в конце каждой последова­тельности операторов должен присутствовать оператор break. После выполнения последовательности операторов внутри одной ветки case, завершающейся оператором break, происходит выход из оператора switch. Обычно оператор switch исполь­зуется тогда, когда программист хочет, чтобы была выполнена только од­на последователь­ность операторов из нескольких возможных. Каждая последовательность операторов может содер­жать нуль или бо­лее от­дельных операторов. Фигурные скобки в этом случае не требуются.

Если ветка, называемая default (умолчание) есть, то пос­ле­до­ва­тель­ность опе­раторов, стоящая непосредственно за словом de­fault и дво­е­­­точием, выполняется только тогда, когда сравнение ни с од­ним из стоя­щих выше константных выражений не ис­тинно.

6.2.10.6. Оператор безусловного перехода ‑ goto

Оператор goto используется для передачи управления внутри функции от одного оператора к другому. Синтаксис оператора такой:

goto <идентификатор>. Управление передается безусловно на оператор, помеченный указанным идентификатором.

П ример: goto backend; ... backend: x+= 3; ...

Рекомендуется минимизировать число операторов goto и не вхо­дить извне внутрь бло­ка операторов if, else, switch или операто­ров цикла.

6.2.10.7. Цикл с предусловием ‑ while

while (<условие>) <оператор>.

Проверка условия про­изводится перед выполнением тела цикла. Если результат вычисления условного выражения ‑ истина, то выпол­няется оператор (или группа операторов). Перед входом в цикл while в первый раз обычно инициализируют одну или несколько переменных для то­го, чтобы условное выражение имело какое-либо значение. Оператор или группа операто­ров, составляющих тело цикла, должны, как правило, из­­менять значения одной или нескольких переменных, входя­щих в ус­лов­ное выражение, с тем, чтобы в конце концов выражение обратилось в нуль, и цикл завершился. Оператор continue передает управ­ле­ния на начало следующего повторения цикла. Цикл while завершается, если условие ста­ло ложным или в теле цикла встретился оператор break или return.

Пример программы поиска элемента в массиве:

Int main(int argc, char **argv) // основная функция

{ int scores[100];extern int search(int data[ ],int size,int key);// объявл.функции

int i; for (i = 0; i < 100; i++) scores [ i ] = i; // заполнение массива

printf( “\nИндекс числа 107 в массиве = %d\n”,search (scores, 100, 107 ) );

getch(); return 0;

} // конец основной функции