Lection4_Instructions.pptx
- Количество слайдов: 11
Лекция 4 Инструкции
Инструкции С++ инструкция: объявление ; выражениеopt ; { последовательность_инструкцийopt } if ( условие ) инструкция else инструкция switch ( условие ) инструкция while ( условие ) инструкция do инструкция while ( условие ) for ( иниц_инстрopt; условиеopt ; выражение opt ) инструкция case константное_выражение : инструкция default: инструкция break ; continue ; return выражениеopt ; goto идентификатор ; идентификатор: инструкция try { последовательность_инструкцийopt } обработчики
Инструкции С++ последовательность_инструкций: инструкция последовательность_инструкцийopt условие: выражение спецификатор_типа объявитель = выражение обработчики: catch ( объяв_искл ){ посл_инструкцийopt } обработчикиopt
Условная инструкция if ( условие ) инструкция else инструкция if ( x > 7 ) p = 9 ; if ( z ) c = 7 ; else c = 9 ; if ( need_update ) { update_this (); update_that (); } if ( double d = some_calc() ) return d ;
Правило ближайшего if В неоднозначных случаях else принадлежит самому ближайшему к нему if. int n = 0 ; if ( false ) if ( true ) n = 9 ; else n = 5 ;
Инструкция выбора switch ( n ) { case 1: f(); g(); case 2: h(); break ; default : k(); return; } Условие интегрального типа Метки – константные выражения (вычисляемые компилятором) Выполнение производится с первой подходящей case-инструкции. Если подходящей не нашлось – с метки default, если таковая присутствует. Выполнение продолжается до окончания блока или до первой инструкции break или return.
Цикл с предусловием while ( a < 0 ) a = get_next(); while ( true ) { if ( ++a > 7 ) f ( a ); g ( 9 ); } Тело цикла выполняется, пока верно условие Может не быть выполнено ни разу
Цикл с постусловием do { a = get_next(); } while ( a < 0 ) do { if ( f ) break ; g (); } while ( false ) Тело цикла выполняется, пока верно условие Выполняется хотя бы один раз
Цикл со счетчиком for (; ; ) { if ( f() ) break ; } for ( int i = 7; i < 10 ; ++i ) { do_some(7); do_another(i); } При первом проходе выполняется инициализирующая инструкция, и, если условие истинно, тело цикла. После окончания тела цикла каждый раз выполняется выражение перехода и, если условие снова истинно, повторно выполняется тело цикла. Любая из трех составляющих оператора for может быть опущена for ( int i = 3; i < 10 && j > 5 ; ++i, --j ) { do_some( i, j ); }
Инструкции прерывания цикла break – завершение выполнения цикла continue – выполнение следующей итерации цикла while ( 1 ) { if ( ++a > 7 ) break ; for ( int i = 0 ; i < 100 ; ++i ) } { if ( is_prime(i)) continue ; do_some_nasty_things ( i ); }
Инструкция безусловного перехода label_1: int a = 9; f (); int b = g (a); goto label_1 ; Не рекомендуется к использованию, так как легко может нарушить логику остальных инструкций и приводит к запутыванию программы.
Lection4_Instructions.pptx