Книга: Язык Си - руководство для начинающих

Резюме: переходы в программах

Резюме: переходы в программах

I. Ключевые слова: break, continue, goto

II. Общие замечания

     Выполнение каждого из этих трех операторов языка вызывает скачкообразное изменение процесса выполнения программы, т. е. переход от одной команды программы к другой (не следующий за ней непосредственно).

III. break

     Оператор break можно использовать внутри любой из трех форм цикла и конструкции switch. Его выполнение приводит к тому, что управление программой, минуя оставшуюся часть тела цикла или конструкцию switch, содержащую данный оператор, передается на следующую (за этим циклом или за конструкцией switch) команду.

Пример:

switch(number)

{

 case 4: printf(" Этохорошийвыбор.n");

  break;

  case 5: printf(" Это неплохой выбор.n");

  break;

  default: рrintf(" Это плохой выбор.n");

}

IV. Continue

     Оператор continue может использоваться в любой из трех форм циклов, но нe в операторе switch. Его выполнение приводит к такому изменению логики программы, что остальные операторы тела цикла пропускаются. Для циклов while или for вслед за этим начинается новый шаг, а для цикла do while проверяется условие на выходе, и затем, если оно оказывается истинным, выполняется следующая итерация.

Пример

while((ch = gctchar( ))!= EOF)

{

 if(ch == ' ') continue;

  putchar(ch);

  chcount++;

 }

В этом фрагменте осуществляется эхо-печать читаемых символов и подсчитывается число символов, отличных от пробела.

V. goto

     Выполнение оператора goto вызывает передачу управления в программе оператору, помеченному указанной меткой. Для отделения оператора от соответствующей ему метки используется двоеточие. Имена меток образуются но тем же правилам, что и имена переменных. Помеченный оператор может появиться в программе текстуально до или после goto.

Форма:

goto метка;

...метка: оператор

Пример

toр : ch  = getchar( );

...

if (ch !=  'y')

goto top;

 

Оглавление книги

Оглавление статьи/книги

Генерация: 1.317. Запросов К БД/Cache: 3 / 0
поделиться
Вверх Вниз