Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лаб_ раб_С++.doc
Скачиваний:
4
Добавлен:
07.05.2019
Размер:
600.58 Кб
Скачать

4.8. Операторы

В языке С/С++ предусмотрено большое количество операторов. Операторы разделяются на четыре основные группы: арифметические, сравнения, логические, побитовые.

Оператор присваивания можно использовать в любом корректном выражении. В языке С/С++ оператор присваивания не считается особенным. Общий вид оператора присваивания выглядит следующим образом:

Имя_переменной = выражение

Здесь выражение может состоять как из отдельной константы, так и комбинации сложных операторов. В качестве оператора присваивания в языке С/С++ используется знак равенства.

Отличия оператора присваивания:

- множественное присваивание: а=b=c=d=0;

- комбинированность: int a*=5;

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

При выполнении операции присваивания результат приводится к типу переменной слева от знака =. В этом случае может возникнуть приведение длинного типа к более короткому. Явное преобразование типов задается путем указания названия типа в скобках (type).

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

Операнды – это переменные, константы и другие выражения.

Разделителями являются символы [] () , ; : ... * = #. Выражение может состоять из одной и более операций по преобразованию информации. Компилятор соблюдает строгий порядок разбора выражений, называемый правилами предшествования, который может быть изменен, если части выражения заключить в круглые скобки.

По числу операндов различают: унарные операции (один операнд), бинарные (два операнда) и тернарные (три операнда).

4.8.1 Арифметические операторы

+, -, *, / - выполняются точно так же, как и в большинстве других языков программирования. Арифметические операторы представлены в таблице 3.

Таблица 3.

Арифметические операторы

Оператор

Действие

-

Вычитание, а также унарный минус

+

Сложение

*

Умножение

/

Деление

%

Деление по модулю

--

Декрементация

++

Инкрементация

Примеры:

int a=0,b=1,c;

c=a++; // c=0 a=1

c=++a; // c=2 a=2

c=++b; // c=2 b=2

Операторы инкрементации и декрементации ++ и --. Оператор ++ добавляет 1 к своему операнду, а оператор – вычитает ее.

Форма записи а++ ++а сказывается в составных выражениях. Если ++ стоит после операнда в сложном выражении, то увеличение произойдет после вычисления выражения (постфиксная форма). Если ++ стоит перед операндом, то увеличение на единицу произойдет до вычисления выражения (префиксная форма).

4.8.2 Операторы сравнения и логические операторы

В термине оператор сравнения слово «сравнение» относится к значениям операндов. В термине логический оператор слово «логический» относится к способу, которым устанавливаются эти отношения. Поскольку операторы сравнения и логические операторы тесно связаны друг с другом, мы рассмотрим их вместе. Операторы сравнения и логические операторы представлены в таблице 4. В основе операторов сравнения, и логических операторов лежат понятия «истина» и «ложь». В языке С истинным считается любое значение, не равное нулю. Ложное значение всегда равно 0. если результат ложен, и 1, если результат истинен.

В языке С++ истинные и ложные значения различаются точно так же, но, помимо этого, предусмотрен особый тип данных bool и булевые константы true и false.

Таблица 4.