110 likes | 324 Views
Лекция 4. Инструкции. Инструкции С++. инструкция : объявление ; выражение opt ; { последовательность_инструкций opt } if ( условие ) инструкция if ( условие ) инструкция else инструкция switch ( условие ) инструкция while ( условие ) инструкция do инструкция while ( условие )
E N D
Лекция 4 Инструкции
Инструкции С++ инструкция: объявление; выражениеopt; {последовательность_инструкцийopt} if(условие)инструкция if(условие)инструкция elseинструкция switch(условие)инструкция while(условие)инструкция doинструкцияwhile(условие) for ( иниц_инстрopt;условиеopt;выражение opt)инструкция caseконстантное_выражение:инструкция default:инструкция break; continue ; return выражениеopt ; gotoидентификатор ; идентификатор: инструкция try{последовательность_инструкцийopt} обработчики
Инструкции С++ последовательность_инструкций: инструкцияпоследовательность_инструкцийopt условие: выражение спецификатор_типа объявитель = выражение обработчики: catch (объяв_искл){ посл_инструкцийopt} обработчикиopt
Условная инструкция if(условие)инструкция 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 может быть опущена for (;;) { if ( f() ) break ; } for ( inti = 7; i < 10 ; ++i ) { do_some(7); do_another(i); } for ( inti = 3; i < 10 && j > 5 ; ++i, --j ) { do_some(i, j ); }
Инструкции прерывания цикла break – завершение выполнения цикла continue – выполнение следующей итерации цикла while ( 1 ) { if ( ++a > 7 ) break ; } for ( inti = 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 ;