Основные операторы.
Основным оператором в программирование на любом языке является оператор присваивания (=). Свойство данного оператора заключается в способности задания переменной, находящейся справа от знака присваивания, определенного значения, которое равно выражению, стоящему справа. Важным при использовании оператора присвоения является однотипность левой и правой части.
Пример с целочисленным типом данных:
int a; bool b;
a=15; b=true;
К группе операторов сравнения относятся следующие виды операторов:
"Больше" (>)
"Меньше" (<)
"Больше или равно" (>=)
"Меньше или равно" (<=)
"Не равно" (!=)
"Равно" (= =)
В последнем примере были применены операторы из следующей группы математических операторов:
Оператор сложения (+)
Оператор вычитания (-)
Оператор умножения (*)
Оператор деления (/)
Данное свойство применимо к однотипным данным, то есть в выражении все используемые переменные должны быть использованы одного типа данных.
Пустой оператор.
Синтаксис: (пустое место);
Используется в тех местах программы, где по синтаксису должен стоять оператор, но фактически он там не требуется.
Пример: if (a<10) if (a 10)
b=1; ______;
else
b=1;
42. Оператор присваивания (синтаксис, логика работы, полная и сокращённая форма, порядок выполнения, контекст вычисления, пример).
Синтаксис: переменная=выражение;
Нужен, чтобы сохранить значение некоторого выражения.
x=1;
x=y;
x=y+1;
Порядок выполнения левой и правой частей не определен. В языке С++ имеются другие формы оператора присваивания. Очень часто в программе оператор присваивания изменяет значение некоторой переменной. В общем виде это можно записать следующим образом:
переменная = переменная операция значение;
переменная операция = значение;
Пример: i=i+1; x=x*2; y/=2;
i+=1; x*=2; y=y/2;
Также было замечено, что очень часто выполняются операторы увеличения и уменьшения значения на 1. Первая операция – инкремент, вторая – декремент.
increment decrement
переменная++ переменная--
++переменная --переменная
i++ i--
++i --i
Префиксные и постфиксные формы отличаются контекстом выполнения. В префиксной форме оператора сначала происходит изменение значения переменной и это значение используется выражением. В постфиксной форме – сперва используется значение переменной, а затем оно изменяется.
Пример: int x=5;
cout<<”x= “<<x<<endl; //x=5
cout<<”x= “<<x++<<endl; //x=5
cout<<”x= “<<x<<endl; //x=6
.................
x=5;
cout<<”x= “<<x<<endl; //x=5
cout<<”x= “<<++x<<endl; //x=6
cout<<”x= “<<x<<endl; //x=6
Для операций инкремента и декремента не определено понятие социативности(?); это означает, что в данном выражении нельзя сказать, какой оператор выполняется первым, в зависимости от этого результат будет разный. Стандарт С++ определяет это как “undefined behavior”, то есть «неопределенное поведение», поэтому не следует применять несколько операторов инкремента и декремента подряд в одном выражении и для одной и той же переменной.
Пример: i=1;
j=2;
x=i++ * ++j; //x=1*3
Операторы инкремента и декремента были введены по нескольким причинам:
1). Более компактная запись.
2). В 70-ые годы (когда они и были введены) многие процессоры имели отдельные инструкции для увеличения (уменьшения) переменной на 1, и эта инструкция выполнялась на порядок быстрее, чем оператор увеличения (уменьшения) на единицу.
Результатом выполнения оператора присваивания является присвоенное значение. Это означает, что можно писать выражение следующим образом:
x=y=z=0; x=(y=0)+1; //x=1
Не нашли, что искали? Воспользуйтесь поиском:
|