Чтение онлайн

ЖАНРЫ

Освой самостоятельно С++ за 21 день.

Либерти Джесс

Шрифт:

В отличие от алгебры, это выражение не означает, что x равняется a+b. Данное выражение следует понимать так: присвоим результат суммирования значений переменных а и b переменной x, или присвоим переменной x значение a+b. Несмотря на то что в этом выражении выполняется сразу два действия — вычисление суммы и присвоение значения, после выражения устанавливается только один символ точки с запятой. Оператор (=) присваивает результаты операций, выполняемых над операндами, расположенными справа от знака равенства, операнду, находящемуся слева от него.

x = а + b;

Символы

пробелов

Символы пробелов, к которым относятся не только пробелы, но и символы табуляции и разрыва строки, в выражениях обычно игнорируются. Рассмотренное выше выражение можно записать так:

x=a+b; или так:

x = a

+ b ;

Хотя последний вариант абсолютно правомочен, выглядит он довольно глупо. Символы пробелов можно использовать для улучшения читабельности программы, что облегчит работу с ней. Но при неумелом использовании эти же пробелы могут совершенно запутать программный код. Создатели C++ предоставили много различных возможностей, а уж насколько эффективно они будут использоваться, зависит от вас.

Символы пробелов не отображаются на экране и при печати — видны только различные отступы и промежутки между элементами текста. 

Блоки и комплексные варажения

 Иногда для облегчения восприятия программы логически взаимосвязанные выражения удобно объединять в комплексы, называемые блоками. Блок начинается открывающей фигурной скобкой ({) и оканчивается закрывающей фигурной скобкой (}). Хотя каждое выражение в блоке должно оканчиваться точкой с запятой, после символов открытия и закрытия блока точки с запятой не ставятся, как в следующем примере:

 {

temp = а;

а = b;

b = temp;

}

Этот блок выполняется как одно выражение, осуществляющее обмен значениями между переменными а и b.

Рекомендуется:Незабывайте о закрывающейфигурной скобке каждый раз, когда используется открывающая фигурная скобка. Завершайте выражения в программе символом точки с запятой

Не рекомендуется:Используйте разумно символы пробелов, чтобы сделать свою программу более понятной, а не наоборот.

Операции

Все, в результате чего появляется некоторое значение, в языке C++ называется операцией. Об операциях говорят, что они возвращают значение. Так, операция 3+2; возвращает значение 5. Все операции являются вместе с тем и выражениями.

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

3.2 // возвращает значение 3.2

PI // вещественная константа, которая возвращает значение 3.14

SecondsPerMinute // целочисленная константа, которая возвращает 60

Предполагая, что PI — константа, равная 3.14, а SecondsPerMinute — константа, равная 60, можно утверждать, что все три выражения являются операциями. Выражение

x = а + b;

не

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

у = x = а + b;

Данное выражение выполняет представленную ниже последовательность действий. Прибавляем а к b.

Присваиваем результат выражения а + b переменной x.

Присваиваем результат выражения присваивания x = а + b переменной у.

Если переменные а, b, x и у являются целыми и если а имеет значение 2, а b — значение 5, то переменным x и у будет присвоено значение 7.

Пример выполнения некоторых выражений представлен в листинге 4.1.

Листинг 4.1. Выполнение сложных операций

1: #include <iostream.h>

2: int main

3: {

4: int a=0, b=0, x=0, y=35;

5: cout << " a:" << a << " b:" << b;

6: cout << " x:" << x << " y:" << y << endl;

7: a = 9;

8: b = 7;

9: y = x = a+b;

10: cout << " a:" << a << " b:" << b;

11: cout << " x:" << x << " y:" << y << endl;

12: return 0;

13: }

Результат:

а: 0 b: 0 x: 0 у: 35

а: 9 b: 7 x: 16 у: 16

В строке 4 объявляются и инициализируются четыре переменные. Их значения выводятся в строках 5 и 6. В строке 7 переменной а присваивается значение 9. В строке 8 переменной b присваивается значение 7. В строке 9 значения переменных а и b суммируются, а результат присваивается переменной x. Результат операции x = a+b, в свою очередь, присваивается переменной у.

Операторы

Оператор — это литерал, который заставляет компилятор выполнять некоторое действие. Операторы воздействуют на операнды. Операндами в C++ могут быть как отдельные литералы, так и целые выражения. Язык C++ располагает двумя видами операторов:

• операторы присваивания;

• математические операторы.

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

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

x = а + b;

присваивает операнду x значение, которое является результатом сложения значений переменных а и b.

Операнд, который может находиться слева от оператора присваивания, называется адресным операндом, или l-значением (от англ. слова left, т.е. левый). Операнд, который может находиться справа от оператора присваивания, называется операционным операндом, или r-значением (от англ. слова right, т.е. правый).

Константы могут быть только r-значениями и никогда не бывают адресными операндами, поскольку в ходе выполнения программы значения констант изменять нельзя. Так, можно записать:

Поделиться с друзьями: