Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции по С++.doc
Скачиваний:
27
Добавлен:
20.08.2019
Размер:
2.26 Mб
Скачать

Операторы

Оператор это действия связанные с действием алгоритма программы. Операторы бывают: - простые;

- сложные.

Простой оператор - Оператор присваивания.

Формат: <переменная> = <значение>;

Пример: А=В;

А- имя переменной;

В- выражение, переменная, вызов функции, константа.

Тип результата выражения в правой части может отличаться от типа переменной левой части оператора присвоения. Перед выполнением операции присвоения тип результата выражения автоматически приводится к типу переменной левой части оператора присвоения.

Пример:

1)а=в=с=е=0;

операция выполняется справа налево, т.е. 0 присваивается а,в,с,е.

2) а=(в=с)*d

В примере сначала переименованной в присваивается значение переменной с, а затем вычисляется выражение в*d и результат присваивается переменной а.

Сокращенные формы оператора присвоения.

а=а+а; → а+=а;

+= прибавляет величину правой части оператора к переменной левой части и запоминает результат в переменной левой части оператора.

Формат:

а on =b; или а=а on (в);

где on – одна из операций: +, -, *, /, %-остаток от деления,

<<, >>-сдвиг,

& -и,

^-сложение по модулю 2,

|-или.

Пример:

а*=в+1; → а=а*(в+1);

а /=в; → а=а/в;

*=, /=, +=, -=.

Префиксные операции: ++а, --а - вначале выполнятся операция, затем применяется переменная.

Постфиксные операции: а++, а-- - вначале применяется переменная, затем выполняется операция.

Пример:

а=в*++n; → n=n+1; а=в*n;

а=в*n++; → а=в*n; n=n+1;

Операторы сложные

Операторы сложные бывают составными и структурированными.

Составной оператор

Составной оператор используется там, где синтаксис языка требует использования 1-го оператора, а необходимо выполнить несколько операторов. Выполнение составного оператора приводит к выполнению заключенной в нем последовательности.

Формат составного оператора:

{ блок }

Составной оператор (блок) состоит из нескольких операторов любого типа, заключенные в фигурные скобки. После закрывающейся фигурной скобки не должно быть точки с запятой.

Структурированные операторы

К структурированным операторам относятся операторы условия, цикла, варианта.

Условный оператор.

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

Такой выбор реализуется оператором if.

Формат:

if ” (B) s1;

[“elses2;] // конструкция необязательная

Где

В – условие принятия решения, выражения любого типа (круглые скобки вокруг В обязательны). Тип проверочного условия if приводится к bool, поэтому ноль трактуется как false, а все, что отличается от нуля – как true

s1,s2 – простой, составной, структурированный оператор.

Алгоритм выполнения:

1 вариант, когда отсутствует конструкция [“elses2;]

Вычисляется выражение (В):

  • если результат - истина (true), то выполняется оператор s1 и действия переходят на оператор стоящий за оператором if;

  • если результат – лож (false), то оператор s1 пропускается и действия переходят на оператор стоящий за оператором if.

2 вариант, когда присутствует конструкция [“elses2;]

Вычисляется выражение (В):

  • если результат - истина (true), то выполняется оператор s1 и действия переходят на оператор стоящий за оператором if;

  • если результат – лож (false), то оператор s1 пропускается, выполняется оператор s2 и действия переходят на оператор стоящий за оператором if.

Обязательные условия для выполнения:

  • при входе в оператор, переменные участвующие в проверочном условии, должны иметь конкретные значения:

  • оператор if в оператор if может быть вложен 9 раз.

Пример:

Из трёх переменных а, b, c найти наибольшее.

Вариант №1:

# include < iostream >

using namespace std;

void main()

{

int a,b,c, max;

cin>> a>> b>> c;

cout<<”Наибольшее значение = _”;

if (a>b) { if (a>c) cout<<a;

else cout <<c; }

else if (b>c) cout<<b;

else cout<<c;

}

//Вариант №2:

if ( (a>b) && (a>c) ) cout<<a;

else if (b>c) cout<<b;

else cout<<c;

//Вариант №3:

if ( (a>b) && (a>c) ) max = a;

else if (b>c) max = b;

else max = c;

cout<<max