Выбрать главу

         cout << "nArg1 & nArg2 = 0x"

               << ( nArg1 & nArg2 )

               << "\n" ;

         cout << "nArg1 | nArg2 = 0x"

               << ( nArg1 | nArg2 )

               << "\n" ;

         cout << "nArg1 ^ nArg2 = 0x"

               << ( nArg1 ^ nArg2 )

               << "\n" ;

         /* Пауза для того, чтобы посмотреть на результат работы программы */

         system( "PAUSE" ) ;

         return 0 ;

      }

_________________

64 стр. Часть 1. Первое знакомство с С++

Первая инструкция нашей программы ( та, которая следует за ключевым словом main ) — cout.setf( ios::hex ) ; — меняет используемый по умолчанию десятичный формат вывода на шестнадцатеричный ( поверьте мне, это сработает ).

В остальном программа очевидна. Присвоив значения аргументам nArg1, nArg2, она выводит все варианты побитовых вычислений над этими переменными. Результат выполнения программы будет выглядеть следующим образом:

      Arg1                    = 0x1234

      Arg2                    = 0xff

      ~nArg1                  = 0xffffedcb

      ~nArg2                  = 0xffffff00

      nArg1 & nArg2           = 0x34

      nArg1 | nArg2           = 0x12ff

      nArg1 ^ nArg2           = 0x12cb

      Press any key to continue...

Практическое применение логических вычислений...65

На первый взгляд описанные операторы кажутся оторванными от жизни, но поверьте, в программировании они используются очень часто. Потерпите до следующей главы — и вы поймёте всю важность логических вычислений в программах.

_________________

65 стр. Глава 4. Выполнение логических операций

Глава 5. ОПЕРАТОРЫ УПРАВЛЕНИЯ ПРОГРАММОЙ...66

ОГЛАВЛЕНИЕ

        В этой главе...

►Управление ходом программы с помощью команд ветвления 66

►Выполнение циклов 68

►Вложенные команды управления 76

►Инструкция выбора 77

Простые программки, которые появлялись в первых четырёх главах, обрабатывали фиксированное количество вводов и выводов результатов вычислений, после чего завершали работу. Эти приложения были лишены какого бы то ни было контроля над работой программы, в частности не выполняли никаких проверок. Но компьютерные программы могут принимать решения. Вспомните: когда пользователь нажимает клавиши, компьютер реагирует на это выполнением соответствующих команд.

Например, если пользователь нажимает <Ctrl+C>, компьютер копирует содержимое выделенного блока в буфер обмена. Если пользователь перемещает мышь, на экране двигается её курсор. Этот список можно продолжать до бесконечности. Программы же, которые не принимают никаких решений, неизбежно скучны и однообразны.

Команды, управляющие ходом программы, указывают на то, какие действия она должна выполнить в зависимости от результата вычисления какого-либо логического выражения ( о которых шла речь в главе 4, "Выполнение логических операций" ). Существует три типа управляющих инструкций: операторы ветвления ( или условного перехода ), цикла и выбора.

►Управление ходом программы с помощью команд ветвления...66

Проще всего управлять ходом программы с помощью инструкции ветвления, которая позволяет программе, в зависимости от результата логического выражения, решить, по какому из двух возможных путей выполнения инструкций следует двигаться дальше. В С++ оператор условного перехода реализуется с помощью инструкции if:

     if ( m > n )

      {

          /* 1-я последовательность операторов. Инструкции, которые должны быть выполнены, если m больше n */

      }

      else

      {

          /* 2-я последовательность операторов. Инструкции, которые нужно выполнить в противном случае */