Язык программирования C++ от Страуструпа


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


В С++ есть традиционный набор выбирающих операторов и циклов. Ниже приводятся примеры операторов 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.



Содержание раздела