Запятая в качестве операции
Несколько выражений, разделённых запятой, вычисляются последовательно слева направо. В качестве результата сохраняется тип и значение самого правого выражения. Таким образом, операция «запятая» группирует вычисления слева направо. Тип и значение результата определяются самым правым из разделённых запятыми операндов (выражений). Значения всех левых операндов игнорируются.
Язык С++ предоставляет два полезных оператора:
++ – увеличение значения переменной на единицу;
-- – уменьшение значения переменной на единицу.
Например, х++ равносильно оператору присваивания x=x+1. Аналогично, x=x-1 – то же самое, что х--. Как оператор увеличения, так и оператор уменьшения могут стоять перед операндом (префиксный способ записи) или после операнда (постфиксный способ). Например, x=x+1 может быть записано как ++x или x++.
Тем не менее, существует разница использования префиксного и постфиксного операторов в выражениях. Когда оператор увеличения или уменьшения стоит перед операндом, производится увеличение или уменьшение до начала других вычислений. Если же такой оператор следует за операндом, программа получает значение операнда перед его увеличением или уменьшением. Например,
x=10;
y=++x;
В этом случае значение переменной y равно 11.
В варианте постфиксной записи, т.е.
x=10;
y=x++;
переменная у будет иметь значение 10. В обоих случаях значение переменной x будет равно 11.
6. В языке С++ есть два способа задания комментариев. Первый способ определяет комментарий как последовательность символов, ограниченных слева парой символов /*, а справа – */. Между этими граничными парами может размещаться текст, поясняющий, что должен выполнять данный оператор или блок операторов. В комментарии разрешено использовать не только символы из алфавита языка С++, но и другие символы: /* Это комментарий, допустимый в С++ */
Второй способ определяет комментарий как последовательность символов, началом которого служат символы //, а концом – код перехода на новую строку. Таким образом, односторонний комментарий имеет вид
// Это односторонний комментарий, специфичный для языка С++
7. В C++ есть операция присваивания =, а не оператор присваивания, как в некоторых языках. Операция присваивания, без которой не обойтись в любой программе, приведена в следующей строке:
<имя_переменной> = <выражение>;
Здесь выражение – либо константа, либо сложная комбинация переменных, операторов и констант. В С++ для отображения операции присваивания используется одиночный знак равенства. В левой части операции присваивания должна стоять переменная, а не функция или константа. Присваивание может встречаться в неожиданном контексте, например x=sqrt(a=4*x). При начальном значении х = 4 значение переменной а будет равно 16, значение х после операции присваивания – 4 (sqrt() – функция вычисления квадратного корня). С++ позволяет присваивать переменным одни и те же значения путём использования многочисленных присваиваний в одном операторе. Например, оператор x=y=z=0; присваивает переменным x, y, z значение 0.
При выполнении операции присваивания возможно преобразование типов переменных, входящих в этот оператор. Преобразование типов предназначено для ситуации, в которой переменные одного типа смешиваются с переменными другого. Когда возникает подобная ситуация при выполнении операции присваивания, используется правило преобразования типов: значение справа (выражение) от оператора присваивания преобразуется к типу объекта, стоящего слева (целевой переменной).
Оператор A=b+c; работает следующим образом:
1) вычисляется значение b+c;
2) значение b+c копируется в переменную A, т.е. это значение помещается в область оперативной памяти, которая отведена под переменную A.
В языке С++ существует сокращенная запись операций:
Сокращенная запись | Полная запись |
x+=y; | x=x+y; |
x -=y; | x=x-y; |
x*=y; | x=x*y; |
x/=y; | x=x/y; |
x%=y; | x=x%y; |
x<<=y; | x=<<y; |
x>>=y; | x=x>>y; |
x&=y; | x=x&y; |
x|=y; | x=x|y; |
x^=y; | x=x^y; |
Таким образом, оператор x/=y+10; эквивалентен оператору x=x/(y+10);.
8. Оператор-выражение обычно используется при вычислениях выражений, содержит операцию присваивания или вызов библиотечной или пользовательской функции и заканчивается точкой с запятой. Например: a=a+65; // оператор содержит операцию присваивания
printf(“Функция”); // оператор содержит вызов функции
В языке С++ допускаются смешанные выражения. Смешанное выражение – это выражение, в котором могут использоваться операции различных типов, например:
a=x>0 && x<10;
Очередность выполнения операций в таких выражениях определяется
приоритетом операций.
9. Составной оператор – это возможно пустой список операторов, заключенный в фигурные скобки:
{
a=b+2;
b++;
}
Составной оператор называют блоком, который позволяет рассматривать несколько операторов как один. Внутри составного оператора можно объявлять переменные, которые будут «жить» только внутри этого блока. Составной оператор, как правило, ограничивает тело пользовательской функции, операторы тела цикла и т.п.
Дата добавления: 2015-08-08; просмотров: 862;