1.3.4 Условные операторы и циклы.

   


Назад  |  Вперёд

В С++ есть традиционный набор выбирающих операторов и циклов. Ниже приводятся примеры операторов if, switch и while.

В следующем примере показано преобразование дюйма в сантиметр и обратно. Предполагается, что во входном потоке значение в сантиметрах завершается символом i, а значение в дюймах - символом c:

            #include <iostream.h>

            int main ()
            {
                const float fac = 2.54;
                float x, in, cm;
                char ch = 0;

                cout << "enter length: ";

                cin >> x;   // ввод числа с плавающей точкой
                cin >> ch   // ввод завершающего символа

                if ( ch == 'i' )
                {      // дюйм
                    in = x;
                    cm = x * fac;
                }
                else if ( ch == 'c' )
                { // сантиметры
                    in = x / fac;
                    cm = x;
                }
                else
                    in = cm = 0;

                cout << in << " in = " << cm << " cm\n";
            }

Операция >> ("ввести из") используется как оператор ввода; cin является стандартным входным потоком. Тип операнда, расположенного справа от операции >>, определяет, какое значение вводится; оно записывается в этот операнд.

Оператор switch (переключатель) сравнивает значение с набором констант. Проверку в предыдущем примере можно записать так:

            switch ( ch )
            {
            case 'i':
                  in = x;
                  cm = x * fac;
                  break;
            case 'c':
                  in = x / fac;
                  cm = x;
                  break;
            default:
                 in = cm = 0;
                 break;
            }

Операторы break используются для выхода из переключателя. Все константы вариантов должны быть различны. Если сравниваемое значение не совпадает ни с одной из них, выполняется оператор с меткой default. Вариант default может и отсутствовать.

Приведем запись, задающую копирование 10 элементов одного массива в другой:

           int v1 [ 10 ];
           int v2 [ 10 ];
            // ...
           for ( int i=0; i<10; i++ ) v1 [ i ] = v2 [ i ];

Словами это можно выразить так: "Начать с i равного нулю, и пока i меньше 10, копировать i-тый элемент и увеличивать i." Инкремент (++) переменной целого типа просто сводится к увеличению на 1.


Назад  |  Вперёд


OtDiatlovaOU
К началу книги

Оформление и дизайн книги OtDiatlovaOU.
Вся книга, архив.