Лексические основы языка C ++. Алфавит и лексемы языка C++. Операторы C++. Массивы и указатели, страница 5

.    - прямой выбор, например,  имя_структурированного_объекта.имя_компонента

® - косвенный выбор, например,  указатель_на_структур_объект®имя_компонента

Операции выбора  компонентов классов:

.*     - прямое обращение к компоненту класса по имени объекта и указателю на компонент

®* - косвенное обращение к компоненту класса по указателю на объект и указателю на

         компонент

            Тернарная условная операция используется с тремя операндами:

выр_1 ? выр_2 : выр_3;

В результате выполнения условной тернарной операции, определяемой выражением

            (a>0) ? a: 0

получится значение a, если a>0 и нулевое значение в противном случае.

Составные операции присваивания удобны для компактной записи операторов присваивания. Например, при выполнениии одного из двух операторов a=a+b; или a+=b; результат будет одинаков.

Операция “запятая” задает последовательность выражений. Например, выражение

(i=1, j=4, k=7)

состоит из трех простых выражений.

d=4, d*2;         // d=8

2 ОПЕРАТОРЫ С ++

·  условный оператор

·  if (условное выражение) оператор1; else оператор2;

if (x<y) min=x; else min=y;

·  троичный условный оператор (рекомендуется использовать в случае выбора одного значения из двух возможных)

(выражение) ? оператор1 : оператор2;

min = (x>y)? x : y;

·  множественный выбор: переключатель

Switch (переключающее выражение)

{

 case константное_выражение1: группа_операторов1; break;

    ...

    case константное_выражениеN: группа_операторовN; break;

    default: группа_операторов;

   }

            После вычисления значения переключающего выражения происходит переход на одну из меток, обозначенных ключевым словом case,      для которой значение константного выражения совпало со значением переключающего выражения. Значение константного выражения должно быть целого типа. Если переключающее выражение не совпало ни с одной из проверяемых констант, осуществляется переход на метку default (ее использование не является обязательным). Обычно действие каждой ветви заканчивается оператором break, выполнение которого приводит к выходу из переключателя. Если break отсутствует, управление передается следующему оператору, помеченному case или default.  

void main ()

{

 char choice;

 cout << “ Menu: Add Delete Sort Quit \n”;

 cin >> choice;

 switch (choice)

 {

  case `a`: case `A`: cout << “выбран Аdd\n”; break;

  case `d`: case`D` : cout << “выбран Delete\n”; break;

  case `s`: case`S` : cout << “выбран Sort\n”; break;

  case `q`: case`Q` : cout << “выбран Quit\n”; break;

  default: cout << “ошибка\n”;

 }

}

·  операторы цикла

·  цикл с предусловием

while (выражение) оператор;

      Итерации (проверка условия и выполнение тела цикла) производятся до тех пор, пока выражение не станет ложным (равным нулю).

// Вычисление факториала

. . .

long factorial (int number)

{

 long total=number;

 while (number--) total*=number;

 return total;

}

// Вычисление суммы квадратов первых k натуральных чисел

. . .

int i=0, s=0;

while (i<k) S+=++i*i;

. . .

// Бесконечный цикл

. . .

while (1);

. . .

·  цикл с постусловием

do оператор while (выражение);

Цикл с постусловием используется, когда неизвестно точное количество повторов, но в то же время цикл необходимо выполнить хотя бы один раз. Выход из цикла происходит, когда выражение становится ложным.

. . .

char ch;

do cin >> ch; while (ch!=’Y’);              // выход по символу ‘Y’

. . .

·  итерационный цикл

for (выражение1; выражение2; выражение3) оператор;

      Выражение1 вычисляется первым один раз в начале выполнения цикла, здесь выполняется инициализация счетчика цикла и переменных. Выражение2 предназначено для проверки условия. Если значение выражения2 отлично от нуля, выполняется оператор (тело цикла). Если значение выражения2 равно нулю, цикл завершается. Выражение3 вычисляется в конце каждого выполнения тела цикла. В качестве оператора может использоватьмя простoй оператор или совокупность операторов, заключенных в блок с использованием {}.