Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекция 4_Проектор.docx
Скачиваний:
4
Добавлен:
16.11.2019
Размер:
53.93 Кб
Скачать

2)Оператор вывода данных на экран дисплея.

Вывод данных на экран выполняется с помощью объекта cout, связанного со стандартным потоком вывода. Поток – это некоторая абстракция, отражающая перемещение данных от источника к приёмнику. Стандартный поток вывода обычно направлен на на экран. Оператор выглядит так:

сout << <выражение>;

Можно вывести несколько значений сout <<x<<y;

Операция << называется операцией вставки, она копирует значение выражения в правой части в объект сout. Операция << и объект cout знают, каким образом отличать целое число от строки и как обрабатывать каждое из них. Если мы выводим на печать целое число, то оно отображается в числовом формате. Если мы печатаем строку, то она выводится в виде текста. Это кажется очевидным, но за этими действиями стоит механизм перегрузки операций, типичный для C++. Например,

сout<<”vvedite a,b,c\n”;//это вывод строки-подсказки для ввода. cin>>a>>b>>c; //\n обеспечит перевод курсора на // экране в начало следующей строки.

3)Оператор присваивания.

<переменная> = <выражение>;

  • =сначала вычисляется значение выражения в правой части;

  • =если тип значения выражения не совпадает с типом переменной в левой части, то это значение преобразуется к типу переменной;

  • =значение выражения присваивается переменной, т.е. записывается в память, отведённую для переменной.

В С++ любое выражение с ; в конце рассматривается как оператор. Выполнение его – вычисление значения.

i++; a*=b+c;

4)Составной оператор. Блок.

Часто возникает необходимость поместить несколько операторов там, где по синтаксису должен стоять один оператор. Чтобы сделать группу операторов одним оператором, её заключают в фигурные скобки и называют составным оператором.

{оператор; оператор;…. оператор;}

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

5)Пустой оператор, т.е. пусто; – иногда полезен, чтобы сохранить соответствие синтаксису.

Разветвляющиеся алгоритмы. – алгоритмы, в которых в зависимости от некоторого условия выполняется один из предусмотренных вариантов действий. Для описания таких алгоритмов в языке предусмотрены операторы if, goto, switch.

6)Условный оператор. Переключатель .Оператор перехода.

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

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

Если значение выражения истинное, выполняется оператор1, иначе оператор2.,а затем оператор , стоящий за if, т.е.if задаёт альтернативу: выполнить оператор1 или оператор2, это полный if.

Возможен и короткий: if (выражение) оператор1 ; он задаёт альтернативу: выполнить или нет оператор1.Если на месте оператора1 или оператора2 нужно поставить группу операторов, их заключают в фигурные скобки и синтаксически группа становится одним оператором.

If (выражение) { оператор; … оператор;} еlse { оператор;… оператор; }

Если вместо оператора1 стоит условный оператор, то необходимо разрешить возникающую иногда коллизию; для этого есть правило: else всегда относится к ближайшему if.

If (a>b) if (x>c)m=0; else m=1;

Возможны 2 толкования этого оператора:

If (a>b) if (x>c)m=0; else m=1; (1) – по правилу это работает.

If (a>b) if (x>c)m=0; else m=1; (2)

Если нужен (2), можно If (a>b) { if (x>c)m=0; } else m=1;

Примеры.

Int a,b,m;

a)if (a>b) m=a; else m=b;

b)m=a; if (b>m) m=b;

c)m=(a+b)/2 + fabs(a-b)/2;

Все три примера решают такую задачу m=max(a,b); ,

но вариант a) более наглядный.

Переключатель реализует развилку на несколько направлений.

Общий вид оператора:

Switch (выражение)

{Case константное_выражение1 :[оператор; … оператор;]

Case константное_выражение2 :[оператор; … оператор;]

………………………………………………………………………………………Case константное_выражениеN :[оператор; … оператор;]

[default : оператор; … оператор;]

}

Переключающее выражение – селектор – целого типа или символьного. Константные выражения приводятся к типу селектора. Все константные выражения в одном переключателе должны иметь различные значения.

Switch передает управление тому из операторов, помеченных с помощью case, у которого значение константного выражения совпадает со значением селектора. Если же оно не совпадает ни с одним из константных выражений, то управление получает оператор, помеченный меткой default. Если нет группы default, то оператор Switch не выполнит ничего. Если выбран некоторый вариант и группа его операторов выполняется, последним в этой группе часто стоит оператор break, который выполняет выход из переключателя на оператор, следующий за ним. Если группа операторов варианта не заканчивается оператором break и никуда не передаёт управление, то выполняется группа операторов следующего варианта.

#include <iostream>

using namespace std;

int main()

{int n=10,c;

cin>> c;

{switch (c%n)

{case 0:cout <<"monday\n"; break;

case 1:cout <<"tusday\n"; break;

case 2:cout <<"wednesday\n"; break;

case 3:cout <<"thursday\n"; break;

case 4:cout <<"friday\n"; break;

case 5:cout <<"saturday\n"; break;

case 6:cout <<"sunday\n"; break;

default:cout <<"noday\n";

}} return 0; }

Замечание. Оператор break в составе другого оператора выполняет выход из этого другого оператора на оператор, следующий за ним.

Основные операции языка С++

(по убыванию приоритетов, в группе приоритеты одинаковые)

Олерация.

Действие

Унарные операции

++

--

Sizeof

!

-

+

&

*

new

delete

(тип)

Увеличение на 1

Уменьшение на 1

Размер

Поразрядное отрицание

Логическое отрицание

Унарный минус (арифметическое отрицание)

Унарный плюс

Взятие адреса

Разыменование

Выделение динамической памяти

Освобождение динамической памяти

Преобразование типа

Бинарные и тернарная операции

*

/

%

Умножение

Деление

Остаток от деления

+

-

сложение

вычитание

<<

>>

Сдвиг влево

Сдвиг вправо

<

<=

>

>=

Меньше

Меньше или равно

больше

Больше или равно

==

!=

Равно

Не равно

&

Поразрядная конъюнкция (И)

^

Поразрядная исключающее ИЛИ

|

Поразрядная дизъюнкция (ИЛИ)

&&

Логическое И

||

Логическое ИЛИ

? :

Условная операция (тернарная)

=

*=

/=

%=

+=

-=

<<=

>>=

&=

|=

^=

Присваивание

Умножение с присваиванием

Деление с присваиванием

Остаток от деления с присваиванием

Сложение с присваиванием

Вычитание с присваиванием

Сдвиг влево с присваиванием

Сдвиг вправо с присваиванием

Поразрядное И с присваиванием

Поразрядное ИЛИ с присваиванием

Поразрядное исключающее ИЛИ с присваиванием

,

Последовательное вычисление